为什么Gatewayworker websocket 隔一两天连接不上 ,需要重启 start.php 服务才行

gaoyongguang

为什么Gatewayworker websocket 隔一两天连接不上 ,需要重启 start.php 服务才行

阅读 241
8个回答

gaoyongguang

现在连websocket连不上 ,每次必须重新启动Gatewayworker才行,哪位大侠帮指点一下,这是咋回事,提前谢了

  • 暂无评论
智佳思远

看截图感觉连上了啊,连不上js会报错的,没看到报错。

  • 暂无评论
不败少龙

程序出现die阻断 服务就会停止

  • 暂无评论
gaoyongguang

这种情况怎么解决,有合理的方案吗,难道这个平台就得每天启动重启Gatewayworker服务才行吗

  • 暂无评论
six

业务用数据库了?

gaoyongguang

恳请大侠指点一下

  • 暂无评论
six

应该是mysql连接长时间不活跃被mysql服务端端开了。一般是8小时。onWorkerStart里加个定时器,定时执行 select 1,这样定时和mysql通讯下,保持连接不被断开就好了

  • gaoyongguang 2021-10-22

    现在我就在浏览器console 里加 var ws = new WebSocket('ws://域名:8282');
    ws.onmessage = function (e) {
    console.log(e);
    } 都出不来

  • gaoyongguang 2021-10-22

    但是一重启Gatewayworker就可以log 出client_id 了

gaoyongguang

但是在新的浏览器端console log日志报下面的,简单的new websocket() 新加一个客户端节点client_id 都失败, 新客户端也没有和mysql 交互了,完全打开别的电脑浏览器一律新加客户端加不上,这是新加节点报的错

  • six 2021-10-22

    估计是mysql连接断开了影响了。