企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Coroutine\\Client Coroutine\Client提供了`TCP`、`UDP`、`UnixSocket`传输协议的`Socket`客户端封装代码,使用时仅需new Swoole\Coroutine\Client即可。 * `Coroutine\Client`底层实现协程调度,业务层无需感知 * 使用方法和`Client`同步模式方法完全一致 * `connect`超时设置同时作用于`Connect`和`Recv`、`Send`超时 * 除了正常的调用外,`Coroutine\Client`还支持并行请求 <br> ## 继承关系 Coroutine\Client与Client不是继承关系,但绝大部分Client提供的方法均可在Coroutine\Client中使用。 在Coroutine\Client中可以使用set方法设置配置选项,使用方法和与Client->set完全一致 <br> ## 使用实例 ~~~ use Swoole; $client = new Coroutine\Client(SWOOLE_SOCK_TCP); if (!$client->connect('127.0.0.1', 9501, 0.5)) { exit("connect failed. Error: {$client->errCode}\n"); } $client->send("hello world\n"); echo $client->recv(); $client->close(); ~~~ <br> ## 协议处理 协程客户端也支持长度和`EOF`协议处理,设置方法与[Client](https://wiki.swoole.com/wiki/page/p-client_setting.html)完全一致。 ~~~ use Swoole; $client = new Coroutine\Client(SWOOLE_SOCK_TCP); $client->set(array( 'open_length_check' => 1, 'package_length_type' => 'N', 'package_length_offset' => 0, //第N个字节是包长度的值 'package_body_offset' => 4, //第几个字节开始计算长度 'package_max_length' => 2000000, //协议最大长度 )); ~~~