作者:胜利者416 | 来源:互联网 | 2023-02-03 19:39
PHP常用socket创建TCP连接,使用CURL创建HTTP连接,为了简化操作,Swoole提供了Client类用于实现客户端功能,并增加了异步非阻塞模式,让用户在客户端也能
![swoole client有什么用,](https://img1.php1.cn/3cd4a/24c6f/525/49f01727047bf86b.png)
PHP常用socket创建TCP连接,使用CURL创建HTTP连接,为了简化操作,Swoole提供了Client类用于实现客户端功能,并增加了异步非阻塞模式,让用户在客户端也能使用事件循环。
作为客户端使用,Swoole Client可以在FPM环境下或 Apache中使用,但不允许使用Async异步模式,只能使用同步非阻塞模式,异步非阻塞模式仅限CLI模式下使用。
Client提供了TCP/UDP socket的客户端的封装代码,使用时仅需new SwooleClient。
Swoole的socket客户端对比PHP提供的%ignore_a_1%族函数有什么优势呢?
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来创建一个客户端实例。
原型
![swoole client有什么用,](https://img1.php1.cn/3cd4a/24c6f/525/653b9e214d921387.png)
参数
参数1:int $sock_type
$sock_type 表示socket类型,可使用swoole提供的宏来指定类型。
![swoole client有什么用,](https://img1.php1.cn/3cd4a/24c6f/525/2c1ff06c224e042c.png)
其中SWOOLE_SSL与SWOOLE_KEEP不能单独使用,需要与前四个选项共同作用。
![swoole client有什么用,](https://img1.php1.cn/3cd4a/24c6f/525/f9f94c67dcaff04e.png)
以上就是本篇文章全部内容,感谢阅读
PHP进阶、面试;文档、视频资源免费获取
http://www.dengb.com/PHPjc/1383398.htmlwww.dengb.comtruehttp://www.dengb.com/PHPjc/1383398.htmlTechArticleswoole client有什么用, PHP常用socket创建TCP连接,使用CURL创建HTTP连接,为了简化操作,Swoole提供了Client类用于实现客户端功能,并增加了异步…
—-想了解更多的php相关异常处理怎么解决关注<编程笔记>