stream_socket_server
string$address,
[int
[string
[int$flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN],
[resource|null$context = null]
): resource|false
Creates a stream or datagram socket on the specified address.
This function only creates a socket, to begin accepting connections use stream_socket_accept.
Parameters
- address
-
The type of socket created is determined by the transport specified using standard URL formatting: transport://target.
For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.
Depending on the environment, Unix domain sockets may not be available. A list of available transports can be retrieved using stream_get_transports. See for a list of bulitin transports.
- error_code
-
If the optional error_code and error_message arguments are present they will be set to indicate the actual system level error that occurred in the system-level socket(), bind(), and listen() calls. If the value returned in error_code is 0 and the function returned false, it is an indication that the error occurred before the bind() call. This is most likely due to a problem initializing the socket. Note that the error_code and error_message arguments will always be passed by reference.
- error_message
-
See error_code description.
- flags
-
A bitmask field which may be set to any combination of socket creation flags.
Note:
For UDP sockets, you must use STREAM_SERVER_BIND as the flags parameter.
- context
-
Return Values
Returns the created stream, or false on error.
Notes
Note:
When specifying a numerical IPv6 address (e.g. fe80::1), you must enclose the IP in square brackets—for example, tcp://[fe80::1]:80.
Changelog
Version | Description |
8.0.0 | context is nullable now. |