现在的位置: 首页 > 综合 > 正文

关于socket长连接超时

2014年09月05日 ⁄ 综合 ⁄ 共 302字 ⁄ 字号 评论关闭

游戏上正式服测试的时候,发现一个问题:每5分钟,socket长连接会自动中断。

检查了客户端和服务器的程序之后,都没发现主动断掉socket的逻辑,而且之前在内网测试也没出现这个问题!

初步怀疑是F5,但是短时间内没法查明原因!

一开始的解决办法,是在客户端加定时心跳,但是在实际使用中,遇到一个绕不过去的坑,就是如果游戏被挂起超过5分钟,这个心跳就不起作用了,两种情况会造成这个结果:

(1)游戏进Home后台(2)游戏切换到sdk的支付界面。

最后的解决办法是在服务器端加了心跳,针对用户的最后一条下行之后4分钟发一条广播心跳,每隔1小时断开所有没有上行的socket长连接,回收资源!

不够体面,但是work!

抱歉!评论已关闭.