我们可以在WebSocket握手中设置cookie:Set cookie inside websocket connection但是我无法确定cookie是否已经设置:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8088 });
wss.on("headers", onHeaders);
function onHeaders(headers) {
console.log("onHeaders cookie: " + headers.cookie); // undefined
headers.push('Set-Cookie: ' + cookie.serialize('client', 1));
}
在设置Cookie之前,如何查看“客户端”值是否已经可用?
答案 0 :(得分:0)
在WebSocket服务器上为connection
事件安装处理函数。这在收到WebSocket请求时触发,并将request
对象(http.IncomingMesssage
的实例)作为参数传递。您可以检查request
对象的标头,以查看您的cookie是否存在于请求中。类似的东西:
wss.on('connection', onConnection);
function onConnection(websock, request) {
console.log(request.headers);
}
虽然你当然希望做一些比打印标题更复杂的事情。