由于ajax轮询方式太耗服务器,所以决定采用html5 WebSocket。但WebSocket需要解决断网重连问题。网上的文章是采用心跳重连机制。但这个方案我认为并不完美,因为心跳间隔短了,服务器压力依然会较大,还不如采用ajax轮询。而间隔长了,实时性上又会打折扣。我认为服务器一般是比较稳定的,断网主要出在客户端上。所以我想了个方法,客户端代码定时去查询网络是否连通,但请求不是发到我的服务器上,因为我的服务器太弱了。而是发到某个知名网站上,去申请一个体积比较小的资源。如果申请成功,说明网络通畅,WebSocket也基本确定不会挂。否则说明网络断了,WebSocket也肯定完蛋,于是向我的服务器发起重连。这样等于每秒200次的并发让某知名网站给承担了,大家说这个方法怎么样?
81,092
社区成员
341,716
社区内容
加载中
试试用AI创作助手写篇文章吧