我最近加入了一個新項目,我負責使用web套接字實現流數據。這個想法是目前通過HTTP請求(以RESTful方式)公開的一組信息,他們希望通過Web套接字進行公開。開始理解web套接字和http請求(和STOMP)
我在約網站插座和STOMP過去48小時內做了一大堆的研究,並希望得到幾點澄清:
因此,對於客戶端,並通過連接服務器web套接字而不是通過HTTP請求/響應,他們首先需要同意在它們之間建立一個Web套接字連接。這是通過HTTP GET完成的,通過一個唯一的頭部來表示他們將使用Web套接字連接來代替?
理論上說,有一大堆不同的數據通過一些API暴露給瀏覽器。想象一下,有很多不同的HTTP請求可以做成GET,POST,DELETE。因此,爲了讓所有這些信息的某些部分通過Web套接字進行流式傳輸,只需簡單地更改每個資源的當前GET請求,以檢查該特殊WebSocket標頭是否存在,然後執行某些操作?或者還有其他的事情需要通過網絡套接字來暴露某些數據。如果您從HTTP請求初始化套接字,我可能會誤解HTTP和套接字的關係。
我認爲這些是我的兩個主要問題,我相信這些答案將指向我繼續學習更多關於該主題的正確方向。我試圖找到任何好的示例代碼示例,但我試圖理解這一點,以便在本週內實施。
如果您希望實際實現WebSocket通信,那麼您一定要閱讀規範:https://tools.ietf.org/html/rfc6455。我相信你已經看到它,但只是想確保。 – Randy
如果你只是需要使用websocket通信(不需要實現規範),那麼有很多庫將封裝你所有的辛苦工作。 Socket.io可能是更好的Node.js庫之一,因爲它在瀏覽器不支持Web套接字的情況下使用後備。 – Randy
檢查這篇文章:https://blog.pusher.com/websockets-from-scratch – niba