swoole client有什么用
程序员文章站
2022-06-22 10:30:19
PHP常用socket创建TCP连接,使用CURL创建HTTP连接,为了简化操作,Swoole提供了Client类用于实现客户端功能,并增加了异步非阻塞模式,让用户在客户端也能使用事件循环。 作为客户端使用,Swoole Client可以在FPM环境下或 Apache中使用,但不允许使用Async异 ......
php常用socket创建tcp连接,使用curl创建http连接,为了简化操作,swoole提供了client类用于实现客户端功能,并增加了异步非阻塞模式,让用户在客户端也能使用事件循环。
作为客户端使用,swoole client可以在fpm环境下或 apache中使用,但不允许使用async异步模式,只能使用同步非阻塞模式,异步非阻塞模式仅限cli模式下使用。
client提供了tcp/udp socket的客户端的封装代码,使用时仅需new swoole\client。
swoole的socket客户端对比php提供的stream族函数有什么优势呢?
stream函数存在超时设置的陷阱和bug,一旦没有处理好将会导致服务器长时间阻塞。
stream和fread有8192长度限制,无法支持udp大包。
swoole_client客户端支持waitall,在知道包长度的情况下可以一次取完不必循环获取。
swoole_client支持udp的connect解决了udp串包的问题
swoole_client是纯c的代码
swoole_client支持异步非阻塞回调
构造方法 constructor
swoole的client功能封装为一个swoole_client类,可通过new swoole_client来创建一个客户端实例。
原型
参数
参数1:int $sock_type
$sock_type 表示socket类型,可使用swoole提供的宏来指定类型。
其中swoole_ssl与swoole_keep不能单独使用,需要与前四个选项共同作用。
以上就是本篇文章全部内容,感谢阅读