长时间链接掉线,大概2-3个小时

752585957w

客户端连接服务器端,大概2-3个小时会自动掉线,看起来是服务端主动断开的。客户端没有触发disconnect 。
我用了心跳,客户端发送心跳,然后服务端回复心跳。发现掉线的时候客户端依然会继续发送心跳。但是服务端不会再回复心跳。请问下是什么原因?用nginx做了代理,本地心跳发送时间15s

2498 4 0
4个回答

752585957w

服务器端没有报任何错误

  • 暂无评论
walkor

贴下 php版本 workerman版本 启动界面 客户端是什么? 服务端是什么?(phpsocket.io?gatewayWorker?)

客户端没有触发disconnect  

是依据什么判断的?

发现掉线的时候客户端依然会继续发送心跳。但是服务端不会再回复心跳。

请截图正常状态和非正常状态的心跳,截图截大一些。
 
另外出现这个问题的时候请运行 php start.php status ,并截图,截图截全。
 
还有可以的话截图下业务代码
 
 
 
 

  • 752585957w 2019-06-12

    php版本7.2.6 workerman版本 3.5.4。 客户端是浏览器socketio.js 服务端phpsocket.io

  • 752585957w 2019-06-12

    客户端没有触发disconnect是我用了python 的qt做的一个qtwebview 把网页嵌入在里面。我写了日志。断开链接的时候会在本地写入断开链接的日志,但是日志里面没有断开链接,只有没有回复心跳的日志

752585957w

昨晚六点多和九30分分别发生过一次。这个status是刚刚截的图昨晚没来得及截图。中间没有重启过
第4-5张图是服务器收到的心跳,分别有1-3分钟左右没有收到心跳。我做了断线重连,js没有收到心跳5次大概就是1-3分钟会自动刷新网页重新连接

  • 暂无评论
walkor

可能是网络稳定产生的。
外网长连接断开是很常见的事情,不一定是程序bug,做好重连即可

  • 752585957w 2019-06-12

    我也觉得可能是网络不稳定。使用者跟我们是两个不同的地方。我这边挂着是正常的,她那边挂着就不正常,经常出现

  • 752585957w 2019-06-12

    固定,2-3个小时会出现一次。

年代过于久远,无法发表回答
🔝