Process\Pool->listen

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

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字节、网络字节序的长度值。协议格式为:

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

实例

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

  • 东风

    给对swoole感兴趣的朋友推荐一个swoole学习群:820469789,群里面每天会讲解swoole项目,还有大牛答疑解惑,学习与快乐同在。我们群是关于swoole学习的,希望大家多多交流。即使是小白也没有关系,只要加入QQ群,就可以获取一些免费的学习资料。