哈希空间 Ctrl + F 进行搜索
首页 php手册中文版 CSS中文手册 哈希文档 Markdown在线工具

PHP socket 组件

socket_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

socket_set_option为套接字设置套接字选项

说明

socket_set_option(
    Socket $socket,
    int $level,
    int $option,
    array|string|int $value
): bool

socket_set_option() 函数在 socket 的指定协议 level 上设置由 option 参数指定的选项,value 为指定值。

参数

socket

socket_create()socket_accept() 创建的 Socket 实例。

level

level 参数定义选项所在的协议级别。例如,在 socket 级别设置选项,将使用 SOL_SOCKET 作为 level 参数。在其它级别,例如 TCP,可以使用该级别定义的协议号来指定级别。协议号可以通过 getprotobyname() 找到。

option

套接字可用选项与 socket_get_option() 函数的选项相同。

value

选项值。

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.0.0 现在 socketSocket 实例, 之前是 resource

范例

示例 #1 socket_set_option() 示例

<?php
$socket 
socket_create(AF_INETSOCK_STREAMSOL_TCP);

if (!
is_resource($socket)) {
    echo 
'Unable to create socket: 'socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!
socket_set_option($socketSOL_SOCKETSO_REUSEADDR1)) {
    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($socketSOL_SOCKETSO_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;
}
?>

参见

打开 哈希空间 微信小程序中查看更佳