3
我正在處理來自Node.js http服務器的websocket「升級」事件 - 升級處理程序在窗體函數(req,套接字,頭)中 - 如何發送對此升級請求的響應,因爲存在沒有res對象?有沒有辦法使用套接字對象來做到這一點?如何發回標題?Node.js如何響應升級請求?
我正在處理來自Node.js http服務器的websocket「升級」事件 - 升級處理程序在窗體函數(req,套接字,頭)中 - 如何發送對此升級請求的響應,因爲存在沒有res對象?有沒有辦法使用套接字對象來做到這一點?如何發回標題?Node.js如何響應升級請求?
你只需要調用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套接字。
爲什麼你使用http服務器的websockets?有[大量專用庫](http://stackoverflow.com/q/16392260)。是的,你應該通過套接字來回答。 – Bergi
我正在爲engine.io編寫一個自定義代理。 node-http-proxy庫(Noejitsu)似乎不能與engine.io一起工作 - 我只想在這個階段獲得基本的邏輯工作。 – Jon