Node.js 在websocket连接中设置cookie

Node.js 在websocket连接中设置cookie,node.js,websocket,Node.js,Websocket,我知道我可以在握手时设置cookies: const wss = new WebSocketServer({ server, path: '/ws' }); wss.on('headers', headers => { headers.push('Set-Cookie: my-cookie=qwerty'); }); 如何更改websocket连接中的Cookie? 例如,我想在一些客户端消息之后设置会话cookie: ws.on('message', () => { //

我知道我可以在握手时设置cookies:

const wss = new WebSocketServer({ server, path: '/ws' });
wss.on('headers', headers => {
  headers.push('Set-Cookie: my-cookie=qwerty');
});
如何更改websocket连接中的Cookie? 例如,我想在一些客户端消息之后设置会话cookie:

ws.on('message', () => {
  // something like ws.setCookie('my-cookie=qwerty');
});

您无法在收到webSocket消息时设置cookie,因为它不是http请求。一旦建立了webSocket连接,它就是一个开放的TCP套接字,协议不再是http,因此没有内置的方式来交换cookie

您可以将自己的webSocket消息发送回客户机,让它设置cookie,然后在客户机中侦听该消息,当它收到该消息时,它可以在浏览器中设置cookie