如何在wss.onConnection之后停止HTTP请求并处理来自邮递员的升级

时间:2019-08-01 16:14:01

标签: node.js http websocket

在WebSocketServer获得连接请求后,我希望它停止HTTP请求并同时处理升级请求。我尝试使用“ ws.close()”,但这只会停止websocket服务器。

我还找到了有关通过邮递员将升级参数作为标头传递的文档,该文档似乎起作用,但是我不确定是否要以正确的方式进行操作。由于参数是“升级,连接,sec-websocket-version,sec-websocket-key”。

我想做的是(从邮递员发送)请求时,它与websocket服务器握手并执行文件。有人可以帮助我解决这个问题吗?

var db = require('../db.js');
db.connect();
const wss = new WebSocket.Server({ server: true ,port: PORT, verifyClient: function(info, callback) {
  const urlParameters = info.req.url.replace(/^\/|\/$/g, '').split('/');
  const room = "room";
  const roomId = urlParameters[1];
  if (urlParameters[0] != room || !urlParameters[1]){
    callback(false, 400, 'failed', {});
    return;
  }
  var contentHandler = new ContentDataHandler();
  contentHandler.getRoom(roomId, (roomObject) => {
    if(!roomObject){
      callback(false, 400, 'failed', {});
      return;
    }
    callback(true, 200, 'successful', {});
  });
}});
wss.on('connection', function connection(ws, req) {
  var id = req.headers;
  console.log(id);
});

0 个答案:

没有答案