我一直在修改微软的原型WebSocket实现,特别是桌面客户端组件(System.ServiceModel.Webockets)。据我所知,在打开客户端WebSocket时没有办法附加cookie。
有人知道他们的图书馆是否可以做到这一点吗?
WebSockets并不是你所知道的HTTP。它应该只是一个TCP套接字。所以没有任何HTTP头,所以每个数据包都没有cookie。
但是,WebSocket API确实使用HTTP请求来建立连接。您可以在初始化的同时发送cookie。您可以保留cookie并将其与打开的连接关联起来。
以下是WebSockets的node.js实现的文档。它们允许您附加到request
事件。来自事件参数(WebSocketRequest
)的httpRequest
属性将包含您的cookie。当然,如果您不使用node.js,这是一个没有意义的问题,但它是一个很好的例子,说明了什么是可能的。