码迷,mamicode.com
首页 > Web开发 > 详细

websockets 断开问题解决方案

时间:2019-06-24 16:37:30      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:操作   res   后台   需要   图片   有一个   问题   情况   png   

背景:公司产品是用electron做的pc端。底层基于Chromium 和 node.js。 公司的产品有一个运用场景是进行某些操作。需要后台向前端推送一些消息。

因此我们采用websockets来保持服务器和前端的通信。

问题点:sockets在连接一段时间后会自动断开。后台向前端推送的消息前端无法接收到。

初步排查判断是因为自动重连失效。但是本身websockets就是基于tcp的。本身socket就有保持连接的能力。 我们通过wireshark的查看tcp的日志发现sockets是有在做重连。

后台也确实保持着状态。 我们前端加入循环判断。只要断开就自动重连。但是通过日志我们发现有个很奇怪的现象断开时间都是8分钟。排查后才发现每隔一段时间断开是因为

服务器内核设置的问题。

技术图片

 

我们修改了内核设置参数。将服务器内核时间调到7200秒也就是两小时。 但是后面在实际业务场景中用户会有把客户端打开两个小时不操作的情况。

再次操作时socket已经断开再也无法连接上。 我们想到一个方案前端每重连10次就重新建立一个新的连接。这个方案我们测试了在服务器上部署跑了72小时没有出现断开了再也连接不上的问题。

websockets 断开问题解决方案

标签:操作   res   后台   需要   图片   有一个   问题   情况   png   

原文地址:https://www.cnblogs.com/weimen/p/11077582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!