最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

防止打开Node.js websocket连接(ws库)

IT培训 admin 15浏览 0评论

防止打开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库)

有什么方法可以防止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库。

回答如下:

我认为,您仅应允许用户在例如登录时访问。或在某些受保护的路线上。因此暂时没有打开的连接。仅在获得授权的情况下。

发布评论

评论列表 (0)

  1. 暂无评论