Process\Pool->listen
监听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');