成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【譯】 WebSocket 協(xié)議第六章——發(fā)送與接收消息(Sending and Receiving

BenCHou / 3231人閱讀

摘要:概述本文為協(xié)議的第六章,本文翻譯的主要內(nèi)容為消息發(fā)送與接收相關(guān)內(nèi)容。在這一幀中的應(yīng)用數(shù)據(jù)被定義為消息的數(shù)據(jù)。接下來的數(shù)據(jù)幀必須是屬于一條新的消息。像第節(jié)中說的那樣,服務(wù)端在收到客戶端的數(shù)據(jù)幀時必須去除掩碼。

概述

本文為 WebSocket 協(xié)議的第六章,本文翻譯的主要內(nèi)容為 WebSocket 消息發(fā)送與接收相關(guān)內(nèi)容。

發(fā)送與接收消息(協(xié)議正文) 6.1 發(fā)送數(shù)據(jù)

為了通過 WebSocket 連接發(fā)送一條 WebSocket 消息,終端必須遵循以下幾個步驟:

終端必須保證 WebSocket 連接處于 OPEN 狀態(tài)(見第 4.1 節(jié)和第 4.2.2 節(jié))。如果 WebSocket 連接的任意一端的狀態(tài)發(fā)生了改變,終端必須中止以下步驟。

終端必須將數(shù)據(jù)按照第 5.2 節(jié)定義的 WebSocket 幀進行封裝。如果需要發(fā)送的數(shù)據(jù)過大或者在終端希望開始發(fā)消息時,如果數(shù)據(jù)在整體性這一點上不可用,那么終端可能會選擇通過在第 5.4 節(jié)中定義的一系列幀來進行封裝。

包含數(shù)據(jù)的第一幀操作碼(幀操作碼)必須根據(jù)第 5.2 節(jié)中的內(nèi)容設(shè)置的合適的值,以便接收者將數(shù)據(jù)解析為文本或者二進制數(shù)據(jù)。

最后一個包含數(shù)據(jù)的幀的 FIN ( FIN 幀)字段必須和第 5.2 節(jié)中定義的一樣設(shè)置為 1 。

如果數(shù)據(jù)被發(fā)送到了客戶端,數(shù)據(jù)幀必須和第 5.3 節(jié)中定義的一樣添加掩碼。

如果在 WebsSocket 連接中有協(xié)商擴展(第 9 章),在這些擴展中的定義和注意事項也許要額外考慮。

被格式化的幀必須通過底層的網(wǎng)絡(luò)連接進行傳輸。

6.2 接收數(shù)據(jù)

為了接收 WebSocket 數(shù)據(jù),終端需要監(jiān)聽底層網(wǎng)絡(luò)連接。輸入的數(shù)據(jù)必須通過第 5.2 節(jié)定義的 WebSocket 幀進行解析。如果收到了一個控制幀(第 5.5 節(jié)),那么這個幀必須如 5.5 節(jié)中定義的方式進行處理。如果收到的是一個數(shù)據(jù)幀,那么終端必須注意 5.2 節(jié)中的定義在操作碼(幀操作碼)中的數(shù)據(jù)類型。在這一幀中的“應(yīng)用數(shù)據(jù)”被定義為消息的數(shù)據(jù)。如果幀中包含未分片的數(shù)據(jù)(第 5.4 節(jié)),那么就認為:一條 WebSocket 消息的數(shù)據(jù)和類型被收到了。如果幀是分片數(shù)據(jù)的一部分,那么隨后的幀包含的“應(yīng)用數(shù)據(jù)”連起來就是數(shù)據(jù)的格式。當(dāng)通過 FIN 字段(FIN幀)表示的最后一個片段被收到時,我們可以說:一條 WebSocket 消息的數(shù)據(jù)(由片段組裝起來的“應(yīng)用數(shù)據(jù)”數(shù)據(jù)組成)和類型(注意分片消息的第一幀)已經(jīng)被收到了。接下來的數(shù)據(jù)幀必須是屬于一條新的 WebSocket 消息。

擴展(第 9 章)可能改變數(shù)據(jù)如何理解的方式,具體包括消息的內(nèi)容邊界。擴展,除了在“應(yīng)用數(shù)據(jù)”之前添加“擴展數(shù)據(jù)”之外,也可以修改“應(yīng)用數(shù)據(jù)”(例如壓縮它)。

像第 5.3 節(jié)中說的那樣,服務(wù)端在收到客戶端的數(shù)據(jù)幀時必須去除掩碼。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101912.html

相關(guān)文章

  • WebSocket 協(xié)議 RFC 文檔(全中文翻

    摘要:概述經(jīng)過半年的搗鼓,終于將協(xié)議全篇翻譯完成?,F(xiàn)在將所有章節(jié)全部整理到一篇文章中,方便大家閱讀。如果大家想看具體的翻譯文檔,可以去我的中查看。大家有相關(guān)類型的需要,建議大家可以嘗試下。 概述 經(jīng)過半年的搗鼓,終于將 WebSocket 協(xié)議(RFC6455)全篇翻譯完成?,F(xiàn)在將所有章節(jié)全部整理到一篇文章中,方便大家閱讀。如果大家想看具體的翻譯文檔,可以去我的GitHub中查看。 具體章節(jié)...

    ghnor 評論0 收藏0
  • []RabbitMQ tutorials (一)[JavaScript]

    摘要:允許接收和轉(zhuǎn)發(fā)消息。一個等待接收消息的程序是一個消費者。發(fā)送者會先連接到發(fā)送一條消息,然后退出。注意這里的是要和之前的名稱一致。翻譯日期另因為想入門第一次想著翻譯,第一次然后希望多多提出不足。 gitBook https://joursion.gitbooks.io/... Title: RabbitMQ tutorials ---- Hello World (Javascript) ...

    BlackHole1 評論0 收藏0
  • 用 Node 實現(xiàn)簡單 WebSocket 協(xié)議

    摘要:用實現(xiàn)簡單協(xié)議從瀏覽器說起瀏覽器提供的非常簡潔。創(chuàng)建連接連接建立時的回調(diào)收到消息時的回調(diào)連接出錯時的回調(diào)連接終止時的回調(diào)發(fā)送消息告訴我們也就是說,在創(chuàng)建對象時,瀏覽器嘗試與服務(wù)端建立連接發(fā)送請求建立個服務(wù)端一旦收到數(shù)據(jù),就會觸發(fā)。 用 Node 實現(xiàn)簡單 WebSocket 協(xié)議 從瀏覽器 WebSocket API 說起 瀏覽器提供的 WebSocket API 非常簡潔。 let...

    chavesgu 評論0 收藏0
  • 慕課網(wǎng)_《Netty入門之WebSocket初體驗》學(xué)習(xí)總結(jié)

    時間:2018年04月11日星期三 說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):https://www.imooc.com 教學(xué)源碼:https://github.com/zccodere/s... 學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程介紹 什么是Netty 高性能、事件驅(qū)動、異步非阻塞的IO Java開源框架 基于NIO的客戶...

    Noodles 評論0 收藏0
  • WebSocket協(xié)議第五章——數(shù)據(jù)幀(Data Framing)

    摘要:概述本文為協(xié)議的第五章,本文翻譯的主要內(nèi)容為傳輸?shù)臄?shù)據(jù)相關(guān)內(nèi)容。注意無論協(xié)議是否使用了,幀都需要添加掩碼。服務(wù)端收到?jīng)]有添加掩碼的數(shù)據(jù)幀以后,必須立即關(guān)閉連接。服務(wù)端禁止在發(fā)送數(shù)據(jù)幀給客戶端時添加掩碼?;A(chǔ)數(shù)據(jù)幀協(xié)議通過進行了正式的定義。 概述 本文為WebSocket協(xié)議的第五章,本文翻譯的主要內(nèi)容為WebSocket傳輸?shù)臄?shù)據(jù)相關(guān)內(nèi)容。 有興趣了解該文檔之前幾張內(nèi)容的同學(xué)可以見: ...

    nevermind 評論0 收藏0

發(fā)表評論

0條評論

BenCHou

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<