Client::__construct
函数原型:
function Client->__construct(int $sock_type, int $is_sync = SWOOLE_SOCK_SYNC, string $key);
可以使用底层提供的宏来指定类型,请参考 常量定义
$sock_type
表示socket
的类型,如TCP/UDP
- 使用
$sock_type | SWOOLE_SSL
可以启用SSL
加密 $is_sync
表示同步阻塞还是异步非阻塞,默认为同步阻塞$key
用于长连接的Key
,默认使用IP:PORT作为key。相同key的连接会被复用
在 php-fpm/apache 中创建长连接
$cli = new Swoole\Client(SWOOLE_TCP | SWOOLE_KEEP);
加入SWOOLE_KEEP
标志后,创建的TCP
连接在PHP
请求结束或者调用$cli->close()
时并不会关闭。下一次执行connect
调用时会复用上一次创建的连接。长连接保存的方式默认是以ServerHost:ServerPort
为key
的。可以再第3个参数内指定key。
SWOOLE_KEEP
只允许用于同步客户端
Client
在unset
时会自动调用close
方法关闭socket
在 Server 中使用 Client
- 必须在事件回调函数中使用
Client
,不能在Server->start
前创建 Server
可以用任何语言编写的socket client
来连接。同样Client
也可以去连接任何语言编写的socket server