Process\Pool->listen

监听SOCKET,必须在$ipc_modeSWOOLE_IPC_SOCKET时才能使用。

  1. function Process\Pool::listen(string $host, int $port = 0, int $backlog = 2048);

参数

  • $host监听的地址,支持TCPUnixSocket两种类型。127.0.0.1表示监听TCP地址,需要指定$portunix:/tmp/php.sock监听UnixSocket地址。
  • $port监听的端口,在TCP模式下需要指定。
  • $backlog监听的队列长度

返回值

  • 成功监听返回true
  • 监听失败返回false,可调用swoole_errno获取错误码。监听失败后,调用start时会立即返回false

通信协议

向监听端口发送数据时,客户端必须在请求前增加4字节、网络字节序的长度值。协议格式为:

  1. packet = htonl(strlen(data)) + data;

实例

  1. $pool->listen('127.0.0.1', 8089);
  2. $pool->listen('unix:/tmp/php.sock');