<?PHP Co\run(function () { $client = new Swoole\Coroutine\Client(SWOOLE_SOCK_TCP); if (!$client->connect('127.0.0.1', 19501, 0.5)) { // 连接失败后,不可直接进行重连。必须使用 close 关闭已有 socket,然后再进行 connect 重试。 echo "connect Failed. Error: {$client->errCode}\n"; //关闭已有socket // $client->close(); // //重试 // $client->connect('127.0.0.1', 19501); //获取连接状态,true为已经连接到服务器,false未连接到服务器 // $client->isConnected(); } //发送数据,当为true时表示发送成功,false是发送失败 $client->send("hello world\n"); //recv 方法用于从服务器端接收数据。 while (true) { $data = $client->recv(); if (strlen($data) > 0) { echo "收到服务器返回数据是".$data; $client->send(time() . PHP_EOL); } else { if ($data === '') { // 全等于空 直接关闭连接 $client->close(); break; } else { if ($data === false) { // 可以自行根据业务逻辑和错误码进行处理,例如: // 如果超时时则不关闭连接,其他情况直接关闭连接 if ($client->errCode !== SOCKET_ETIMEDOUT) { $client->close(); break; } } else { $client->close(); break; } } } \Co::sleep(1); } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。