本文爲 WebSocket 協議的第六章,本文翻譯的主要內容爲 WebSocket 消息發送與接收相關內容。網絡
有興趣瞭解該文檔以前幾章內容的同窗能夠見:post
爲了經過 WebSocket 鏈接發送一條 WebSocket 消息
,終端必須遵循如下幾個步驟:ui
爲了接收 WebSocket 數據,終端須要監聽底層網絡鏈接。輸入的數據必須經過第 5.2 節定義的 WebSocket 幀進行解析。若是收到了一個控制幀(第 5.5 節),那麼這個幀必須如 5.5 節中定義的方式進行處理。若是收到的是一個數據幀,那麼終端必須注意 5.2 節中的定義在操做碼(幀操做碼)中的數據類型。在這一幀中的「應用數據」被定義爲消息的數據。若是幀中包含未分片的數據(第 5.4 節),那麼就認爲:一條 WebSocket 消息的數據和類型被收到了。若是幀是分片數據的一部分,那麼隨後的幀包含的「應用數據」連起來就是數據的格式。當經過 FIN 字段(FIN幀)表示的最後一個片斷被收到時,咱們能夠說:一條 WebSocket 消息的數據(由片斷組裝起來的「應用數據」數據組成)和類型(注意分片消息的第一幀)已經被收到了。接下來的數據幀必須是屬於一條新的 WebSocket 消息。翻譯
擴展(第 9 章)可能改變數據如何理解的方式,具體包括消息的內容邊界。擴展,除了在「應用數據」以前添加「擴展數據」以外,也能夠修改「應用數據」(例如壓縮它)。code
像第 5.3 節中說的那樣,服務端在收到客戶端的數據幀時必須去除掩碼。orm