为什么websocket测试连接一下,服务端的日志是这样子的,出现了断线重连的问题,最后也没有连接成功,后端代码是demo,什么都没改。
四张截图分别是服务器端日志,网页客户端截图,微信小程序端截图,第四张截图是apache 中error.log中偶尔会报这个错误。
class Events
{
/**
* 当客户端连接时触发
* 如果业务不需此回调可以删除onConnect
*
* @param int $client_id 连接id
*/
public static function onConnect($client_id)
{
echo "$client_id login in \n";
// 向当前client_id发送数据
Gateway::sendToClient($client_id, "Hello $client_id\r\n");
// 向所有人发送
Gateway::sendToAll("$client_id login\r\n");
}
/**
* 当客户端发来消息时触发
* @param int $client_id 连接id
* @param mixed $message 具体消息
*/
public static function onMessage($client_id, $message)
{
// 向所有人发送
Gateway::sendToAll("$client_id said $message\r\n");
}
/**
* 当用户断开连接时触发
* @param int $client_id 连接id
*/
public static function onClose($client_id)
{
echo "$client_id logout \n";
// 向所有人发送
GateWay::sendToAll("$client_id logout\r\n");
}
}
```
默认demo没心跳,所以连接会断开。
但是我不用wss协议,用ws协议的时候同样的代码是可以的呀,是因为wss的问题?
那就是wss没配置好
能具体说一下吗?哪个地方没配置好呢需要贴哪部分的图片吗,谢谢大佬
请教一下,你的问题解决了没? 我这边也是同样的问题,客户端是uniapp,手机息屏、切换网络等操作,socket重连,有时会连接不成功;