js websocket连接(ws库)"/>
防止打开Node.js websocket连接(ws库)
有什么方法可以防止ws连接均匀打开吗?
当前我正在使用此解决方案:
wss.on('connection', (ws, request) => {
console.log('connection opened')
ws.on('close', () => console.log('connection closed'})
});
server.on('upgrade', async (request, socket, head) => {
if (websocketVerificationFailed()) {
socket.write('HTTP/1.1 401 Unauthorized\r\n\r\n');
socket.destroy();
return;
}
wss.handleUpgrade(request, socket, head, ws => wss.emit('connection', ws, request));
});
问题是连接打开的时间很短,然后关闭。这不是我想要的,因为客户端在未经验证的情况下不应触发onopen。
我需要在客户端上设置一些超时并等待连接状态正确,还是有另一种方法可以在服务器上修复它?
如您所见,我正在使用ws库。
回答如下:我认为,您仅应允许用户在例如登录时访问。或在某些受保护的路线上。因此暂时没有打开的连接。仅在获得授权的情况下。
更多推荐
防止打开Node.js websocket连接(ws库)
发布评论