天天看點

websocket協定與伺服器實作

作者:技術小鳥

websocket

1.伺服器主動推送資料給用戶端(http請求是用戶端先發起的)

websocket協定與伺服器實作
websocket協定與伺服器實作

區分websocket還是http協定

websocket協定與伺服器實作

websocket的握手是建立在tcp三次握手之上的,也就是說tcp建立完連接配接後,再進行websocket的握手,浏覽器發送握手資訊給webserver,然後webserver傳回一條資料給浏覽器,可以檢視websocket_frc6455.pdf協定文檔

websocket協定與伺服器實作

握手流程

1.先擷取sec-websocket-key中的值

2.将guid和key進行組裝

3.組裝好後,進行哈希得到字元串sha

4.将sha進行base64編碼

5.将4中編碼後的value傳回到用戶端

備注:隻要是websocket協定,其GUID都一樣

tcp處理分包,粘包,隻有兩種方法:分隔符和指定具體的長度

自定義協定:1.tcp分包和粘包 2.json/xml,

websocket協定與伺服器實作

websocket資料互動分為三步握手和資料傳輸和斷開,可以使用狀态機的概念分兩步解析接收到的資料

繼續閱讀