Process\Pool->listen

最后更新于:2022-04-02 06:36:01

# Process\\Pool->listen [TOC] 监听`SOCKET`,必须在`$ipc_mode`为`SWOOLE_IPC_SOCKET`时才能使用。 ~~~ function Process\Pool::listen(string $host, int $port = 0, int $backlog = 2048); ~~~ ## 参数 * `$host`监听的地址,支持`TCP`和`UnixSocket`两种类型。`127.0.0.1`表示监听`TCP`地址,需要指定`$port`。`unix:/tmp/php.sock`监听`UnixSocket`地址。 * `$port`监听的端口,在`TCP`模式下需要指定。 * `$backlog`监听的队列长度 ## 返回值 * 成功监听返回`true` * 监听失败返回`false`,可调用`swoole_errno`获取错误码。监听失败后,调用`start`时会立即返回`false` ## 通信协议 向监听端口发送数据时,客户端必须在请求前增加`4`字节、网络字节序的长度值。协议格式为: ~~~ packet = htonl(strlen(data)) + data; ~~~ ## 实例 ~~~ $pool->listen('127.0.0.1', 8089); $pool->listen('unix:/tmp/php.sock'); ~~~
';