http只有Cookie以及安全的cookies可以通过websocket正常工作.
某些Websocket模块已经选择忽略请求中的cookie,因此您需要阅读模块的规范.
确保使用安全的Websocket协议作为wss://xyz.com
更新:
此外,chrome将不会在“检查元素”网络选项卡中显示Cookie.
在节点尝试转储请求,像:
wsServer.on('request', function(request) {
console.log(request);
console.log(request.cookies); // works in websocket node
}
如果您在日志中的某个地方看到cookies,那么您就可以了.
如果您使用的是安全的Cookie,则需要使用安全的Web套接字:wss://
UPDATE2:
cookie在初始请求中传递. Chrome不会显示(始终),因为有时它会显示省略Cookie信息的临时标头.
由websocket服务器来完成与cookies的“某些”,并将它们附加到每个请求中.
看你的服务器的代码:https://github.com/Flynsarmy/PHPWebSocket-Chat/blob/master/class.PHPWebSocket.php我没有看到单词“cookie”在任何地方,所以它没有很好的打包和附加到每个websocket连接.我可能错了,这就是为什么你可能想联系开发人员,看看整个标题是否被附加到每个连接以及如何访问它.
这可以肯定地说:如果你使用安全的cookie,那么除非你使用安全的websocket wss://mysite.com,否则cookies将不被传输.平原ws://mysite.com将无法正常工作.
此外,如果域与网页相同,Cookie将只会在请求中传输.