客户端ws域名链接超时,中途关闭gateway进程,客户端收到之前的握手信息

luohe7451321

分布式部署gatewaywork 在gateway层增加了负载均衡,全部使用公司云主机,register注册地址,gateway lanIP都使用的内网IP,端口已开放。启动服务,chrome 域名进行ws,测试域名没有CDN,ws://test.xxx.xxx.com/websocket/

var websocket = new WebSocket(wsServer); 
websocket.onopen = function (evt) { 
    console.log("client connected to websocket server.");
}; 

websocket.onclose = function (evt) { 
    console.log("Disconnected"); 
}; 

websocket.onmessage = function (evt) { 
    console.log('Retrieved data from server: ' + evt.data); 
}; 

websocket.onerror = function (evt, e) {
    console.log('Error occured: ' + evt.data);
}; 

test.xxx.xxx.com/websocket/ 代理到gateway服务器 xx.xx.xx.xx:8282
图片

同时,businessworker服务 收到信息,client:xx.xx.xx.42:xxx gateway:xx.xx.xx.xx:8282 client_id:0a70ad710b5500000001
客户端一直得不到响应,直到超时,结束请求。

若中途关闭gataway进程,chrome收到之前握手信息

client connected to websocket server.
Retrieved data from server: 0a70ad710b5500000001 logout
Retrieved data from server: Hello 0a70ad710b5600000001
Retrieved data from server: 0a70ad710b5600000001 login
Retrieved data from server: {"type":"ping"}
Disconnected

查看gateway服务器端口

tcp        0      0 0.0.0.0:8282            0.0.0.0:*               LISTEN      38620/start.php 

该进程为启动gateway服务进程

有没有大神指导一下,可以有偿,谢谢了。

3061 2 0
2个回答

walkor 打赏

不加负载均衡是正常的么?

  • 暂无评论
luohe7451321

直接用外网IP来握手是可以的。

  • 暂无评论
年代过于久远,无法发表回答
×
🔝