久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Websocket協(xié)議解析

 獵狐肥 2020-10-28

Html5引入webSocket來實現(xiàn)數(shù)據(jù)的實時交互,。 要想自己編寫個webSocket服務(wù)器,必須對webSocket協(xié)議有所了解才行,。

WebSocket協(xié)議主要分為兩部分:連接許可驗證 和驗證后的數(shù)據(jù)交互,。

連接許可驗證就是進(jìn)行一次握手操作,由Client發(fā)送一個類似于HTTP的請求,服務(wù)端獲取請求后 將發(fā)送過來的數(shù)據(jù)中的 Sec-WebSocket-Key 解析出來,,然后按照把“Sec-WebSocket-Key”加上一個魔幻字符串“258EAFA5-E914-47DA-95CA-C5AB0DC85B11”,。使用SHA-1加密,之后進(jìn)行BASE-64編碼,,將結(jié)果做為“Sec-WebSocket-Accept”頭的值,,返回給客戶端。

連接請求內(nèi)容:

GET / HTTP/1.1
Connection:Upgrade
Host:127.0.0.1:8088
Origin:null
Sec-WebSocket-Extensions:x-webkit-deflate-frame
Sec-WebSocket-Key:puVOuWb7rel6z2AVZBKnfw==
Sec-WebSocket-Version:13
Upgrade:websocket

服務(wù)端返回內(nèi)容:
HTTP/1.1 101 Switching Protocols
Connection:Upgrade
Server:beetle websocket server
Upgrade:WebSocket
Date:Mon, 26 Nov 2012 23:42:44 GMT
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:content-type
Sec-WebSocket-Accept:FCKgUr8c7OsDsLFeJTWrJw6WO8Q= 


經(jīng)過服務(wù)器的返回處理后連接成功,,后面就可以進(jìn)行TCP通訊.WebSocket在握手后發(fā)送數(shù)據(jù)并象下層TCP協(xié)議那樣由用戶自定義,還是需要遵循對應(yīng)的應(yīng)用協(xié)議規(guī)范,。

數(shù)據(jù)交互格式如下:


各字段的解釋:

FIN                  1bit 表示信息是否結(jié)束, 如果為1則該消息為消息尾部,如果為零則還有后續(xù)數(shù)據(jù)包; 

RSV 1-3         1bit 備用字段 默認(rèn)都為 0

Opcode          4bit 消息類型,消息類型暫定有15種,其中有幾種是預(yù)留設(shè)置,。

Mask               1bit 掩碼,,是否加密數(shù)據(jù),(客戶端發(fā)送給后端時,,mask必須為1,,否則close連接,;服務(wù)器發(fā)送給前端時,,mask必須為0,否則斷開連接)

Payload len    7bit 數(shù)據(jù)的長度,,當(dāng)這個7 bit的數(shù)據(jù) == 126 時,,后面的2 個字節(jié)表示數(shù)據(jù)長度,,當(dāng)它 == 127 時,后面的 8 個字節(jié)表示數(shù)據(jù)長度

Masking-key   0/32 bit 掩碼值( Mask為1時才有)

Payload data  長度為Payload len的數(shù)據(jù),,如果有掩碼 需要用mask-Key來異或 才能得到


下圖為opcode 所代表的意思


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多