-
Notifications
You must be signed in to change notification settings - Fork 0
09 Socket 服务器特殊设置
该服务器实现是基于 PHP 内置的 Stream 实现的,它支持以下属性和方法:
该属性的设置值为即 stream_context_create 的 $options 参数的值。其具体设置可以参见:PHP 官方手册——上下文(Context)选项和参数 ,当使用 TCP 服务器时,可以参见 套接字上下文选项 进行设置,当使用 SSL 服务器时,可以参见 SSL 上下文选项 进行设置。
用于设置 settings 属性。多次设置可以被合并到 settings 属性中。
设置为 true 后, TCP 连接发送数据时,会关闭 Nagle 合并算法,立即发往客户端连接。默认值即为 true。
获取 noDelay 的属性值。
设置 noDelay 的属性值。
开启 Socket 的 keepAlive 监测机制。默认为 true。
获取 keepAlive 的属性值。
设置 keepAlive 的属性值。
该属性表示读取缓冲区大小,默认值为 8192。
获取 readBuffer 的属性值。
设置 readBuffer 的属性值。
该属性表示写入缓冲区大小,默认值为 8192。
获取 writeBuffer 的属性值。
设置 writeBuffer 的属性值。
function $server->defer(callable $callback);延后执行一个 PHP 函数。底层会在 IO 事件循环完成后执行此函数。此方法的目的是为了让一些 PHP 代码延后执行,程序优先处理 IO 事件。
function $server->after($delay, callable $callback);在指定的时间后执行函数 $callback。
after 方法是一个一次性定时器,执行完成后就会销毁。
$delay 指定延时时间,单位为毫秒。
$callback 为时间到期后所执行的函数。$callback 函数不接受任何参数。
function $server->tick($delay, callable $callback);在指定的时间后周期性的执行函数 $callback。
tick 方法是一个周期性定时器,每次执行完成后,会重新计时。
$delay 指定延时时间,单位为毫秒。
$callback 为时间到期后所执行的函数。$callback 函数不接受任何参数。
function $server->clear($id);用于清除 after 和 tick 计时器。参数 $id 为 after 和 tick 方法的返回值。
用于添加新的监听地址。新增的监听地址必须为同一类型的。
该服务器实现是基于 swoole_server 实现的,它支持以下属性和方法:
只读属性,它是底层的 swoole_server 对象。你可以通过它来调用 swoole 服务器的功能。
用于设置 swoole 服务器运行时的各项参数。具体有哪些设置,可参见 swoole 的官方文档,不过需要注意,有一些关于协议解析的选项参数不要设置。
用于设置 settings 的属性值。多次设置可以合并。在服务器启动之后,该方法就不能再调用了。
设置为 true 后, TCP 连接发送数据时,会关闭 Nagle 合并算法,立即发往客户端连接。默认值即为 true。
获取 noDelay 的属性值。
设置 noDelay 的属性值。
用于设置 swoole 的服务事件。
添加新的监听地址,添加的地址必须为相同的类型。
添加新的监听地址,并返回监听的服务端口对象,在该对象上进行设置后,可以实现不同类型服务的监听。