gpt4 book ai didi

node.js - 在 websocket 连接中设置 cookie

转载 作者:IT老高 更新时间:2023-10-28 23:26:03 49 4
gpt4 key购买 nike

我知道我可以在握手期间设置 cookie:

const wss = new WebSocketServer({ server, path: '/ws' });
wss.on('headers', headers => {
headers.push('Set-Cookie: my-cookie=qwerty');
});

如何在 websocket 连接中更改 cookie?例如,我想在一些客户端消息之后设置 session cookie:

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

最佳答案

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

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

关于node.js - 在 websocket 连接中设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191517/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com