【发布时间】:2018-04-03 12:26:05
【问题描述】:
我有一个像这样的简单 websocket 服务器:
const WebSocket = require('ws');
const wss = new WebSocket.Server( { server: server, path: "/ws" });
wss.on('connection', function connection(ws, req) {
console.log("Connected");
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.on('close', function close(code, reason) {
console.log("Code: "+code+" | Reason: "+reason);
console.log('disconnected');
});
ws.send('something');
});
我有一个可以正常连接的客户端,但是在连接大约 30 秒后,websocket 服务器关闭连接,错误代码为“1006”。谷歌告诉我这意味着连接异常中断。但是,我不确定是什么原因造成的。 ws.on('error') 回调也不会被触发。如何与我的客户保持无限期/更长的连接?
【问题讨论】:
-
我有一种强烈的感觉,这不是随机的。您是否使用反向代理或其他东西(例如 nginx)?
-
嗨,是的,我正在使用 nginx。nginx 可能会导致这种情况吗?我之前按照本指南启用了适当的标头以允许 websocket 访问:nginx.com/blog/websocket-nginx
标签: javascript node.js sockets networking websocket