在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);
});