Php/docs/function.socket-set-option
socket_set_option
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
socket_set_option — Sets socket options for the socket
说明
socket_set_option
( resource $socket
, int $level
, int $optname
, mixed $optval
) : bool
The socket_set_option() function sets the option
specified by the optname parameter, at the
specified protocol level, to the value pointed to
by the optval parameter for the
socket.
参数
socket- A valid socket resource created with socket_create() or socket_accept().
level- The
levelparameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, alevelparameter ofSOL_SOCKETwould be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function. optname- The available socket options are the same as those for the socket_get_option() function.
optval- The option value.
返回值
成功时返回 true, 或者在失败时返回 false。
范例
Example #1 socket_set_option() example
<?php$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);if (!is_resource($socket)) { echo 'Unable to create socket: '. socket_strerror(socket_last_error()) . PHP_EOL;}if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) { echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL;}if (!socket_bind($socket, '127.0.0.1', 1223)) { echo 'Unable to bind socket: '. socket_strerror(socket_last_error()) . PHP_EOL;}$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);if ($rval === false) { echo 'Unable to get socket option: '. socket_strerror(socket_last_error()) . PHP_EOL;} else if ($rval !== 0) { echo 'SO_REUSEADDR is set on socket !' . PHP_EOL;}?>
参见
- socket_create() - 创建一个套接字(通讯节点)
- socket_bind() - 给套接字绑定名字
- socket_strerror() - Return a string describing a socket error
- socket_last_error() - Returns the last error on the socket
- socket_get_option() - Gets socket options for the socket