<?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); } });
使用swoole实现tcp客户端
猜你喜欢
转载自blog.csdn.net/weixin_45576276/article/details/113758222
今日推荐
周排行