ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# swoole_client->set 设置客户端参数,必须在connect前执行。swoole-1.7.17为客户端提供了类似swoole_server的自动协议处理功能。通过设置一个参数即可完成TCP的自动分包。 ### 结束符检测 ~~~ $client->set(array( 'open_length_check' => true, 'package_eof' => "\r\n\r\n", 'package_max_length' => 1024 * 1024 * 2, )) ~~~ ### 长度检测 ~~~ $client->set(array( 'open_length_check' => 1, 'package_length_type' => 'N', 'package_length_offset' => 0, //第N个字节是包长度的值 'package_body_offset' => 4, //第几个字节开始计算长度 'package_max_length' => 2000000, //协议最大长度 )); ~~~ ### 使用说明 - 目前支持open_length_check和open_eof_check2种自动协议处理功能,参考swoole_server中的配置选项 - 启用了自动协议后,同步阻塞客户端recv方法将不接受长度参数,每次必然返回一个完整的数据包 - 启用了自动协议后,异步非阻塞客户端onReceive每次必然返回一个完整的数据包 |  Swoole流程 | |-----| ![](https://box.kancloud.cn/2015-07-20_55aca2b62ad25.)