WebSocket 的通信机制
WebSocket 的通信機制
- 建立連接
- 數據傳輸
- 關閉連接
??這里假設通信的發送方名叫 client,接收方名叫 server,且接收方已事先開啟端口號。
建立連接
首先進行 TCP 三報文握手,由 client 向 server 發起。這個過程如果不成功,后面的通信將不會進行。具體來講,流程如下:
client 向 server 發送請求建立連接的報文。
server 向 client 發送確認報文。
client 向 server 發送確認報文。
client 向 server 發送 HTTP 報文,報文的內容是請求將報文類型升級為 WebSocket。
server 向 client 發送 TCP 確認報文。確認【2】中的報文收到了。
server 向 client 發送 HTTP 響應報文。表示同意升級報文類型。此時響應的狀態碼是 101,響應短語是 Switching Protocols。
client 向 server 發送 TCP 確認報文。確認【4】中的報文收到了。至此,WebSocket 的連接已建立。
數據傳輸
client 向 server 發送一個 WebSocket 報文,報文中將包含 client 想要發送的數據。
server 向 client 發送 TCP 確認報文。確認【1】中的報文收到了。
之后,每次 client 向 server 發送數據,都將重復【1】、【2】的流程。
關閉連接
-
此過程就是 TCP 四報文握手。具體來講,流程如下:
-
其中的一方主動請求關閉連接。方便起見,這里假設先主動的一方為 client。
client 向 server 發送 TCP 報文,請求關閉從 client 到 server 的單向連接。
-
server 向 client 發送 TCP 確認報文。確認【1】中的報文收到了。
-
server 向 client 發送 TCP 報文,請求關閉從 server 到 client 的單向連接。
-
client 向 server 發送 TCP 確認報文。確認【3】中的報文收到了。
總結
以上是生活随笔為你收集整理的WebSocket 的通信机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware Workstation 入
- 下一篇: GitLab初次安装后,登录GitLab