8

我正在处理来自 Node.js http 服务器的 websocket 'upgrade' 事件 - 升级处理程序的形式为 function(req, socket, head) - 如果没有资源,我如何发送对此升级请求的响应目的?有没有办法使用套接字对象来做到这一点?如何发回标头?

4

1 回答 1

6

您只需要socket.write使用适当的 HTTP 语法作为纯文本调用这些行(来自维基百科):

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat

使用\r\n行分隔符。在那之后,HTTP 结束了,现在您只使用裸 TCP 套接字。

于 2013-08-05T06:01:43.933 回答