中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站登錄不上怎么回事站長是什么職位

網(wǎng)站登錄不上怎么回事,站長是什么職位,水泵行業(yè)網(wǎng)站怎么做,有趣的網(wǎng)站知乎一、前言 上一篇 WebSocket實(shí)戰(zhàn)之一 講了WebSocket一個(gè)極簡例子和基礎(chǔ)的API的介紹,這一篇來分析一下WebSocket的協(xié)議,學(xué)習(xí)網(wǎng)絡(luò)協(xié)議最好的方式就是抓包分析一下什么就都明白了。 二、WebSocket協(xié)議 本想盜一張網(wǎng)絡(luò)圖,后來想想不太好&#x…

一、前言

上一篇??WebSocket實(shí)戰(zhàn)之一?講了WebSocket一個(gè)極簡例子和基礎(chǔ)的API的介紹,這一篇來分析一下WebSocket的協(xié)議,學(xué)習(xí)網(wǎng)絡(luò)協(xié)議最好的方式就是抓包分析一下什么就都明白了。

二、WebSocket協(xié)議

本想盜一張網(wǎng)絡(luò)圖,后來想想不太好,還是自己畫了一張。

1、WebSocket握手

WebSocket握手是用一個(gè)特殊的HTTP請求和響應(yīng)來完成,客戶端握手請求頭會(huì)攜帶Upgrade:websocket,表示請求將協(xié)議升級(jí)為WebSocket協(xié)議。

響應(yīng)碼 101 表示同意將協(xié)議進(jìn)行升級(jí),Sec-WebSocket-Accept是從請求的Sec-WebSocket-key繼承而來,包含一個(gè)特殊的響應(yīng)值,必須和客戶端預(yù)期精確匹配才能握手成功。Sec-WebSocket-Accept=Base64(SHA1(Sec-WebSocket-key+KEY_SUFFIX))。

2、發(fā)送數(shù)據(jù)

WebSocket握手成功連接打開后,客戶端和服務(wù)端就可以在任何時(shí)候相互發(fā)送數(shù)據(jù),在昨天簡單例子中客戶端open事件加上發(fā)送信息,在瀏覽器可以看到發(fā)送的消息和接收到的消息。這就是和HTTP最本質(zhì)的區(qū)別,只要握手完成后無論哪一端想發(fā)送數(shù)據(jù)就發(fā)送,而不是像HTTP那樣服務(wù)端一定要等客戶端的請求然后做出響應(yīng)。

將前一節(jié)例子客戶端也改成每隔5秒發(fā)送一條數(shù)據(jù)。

在瀏覽器控制臺(tái)Message標(biāo)簽可以查看Send(向上箭頭)和Receive(向下箭頭)的數(shù)據(jù),全雙工相互發(fā)送。

3、關(guān)閉握手

終止連接的端點(diǎn)發(fā)送一個(gè)數(shù)字代碼以及關(guān)閉原因字符串,關(guān)閉握手能正常關(guān)閉連接,使應(yīng)用程序可以區(qū)分出是有意關(guān)閉還是意外終止連接。

三、抓包分析

IP:115.192.133.59 WebSocket客戶端

IP:172.16.79.224? ?WebSocket服務(wù)端(內(nèi)網(wǎng)IP)

為了便于查看數(shù)據(jù)包內(nèi)容,代碼稍微調(diào)整,將客戶端服務(wù)端持續(xù)發(fā)送數(shù)據(jù)去掉

服務(wù)端改為接連發(fā)送三條數(shù)據(jù)

客戶端改為不發(fā)送消息,而只在收到消息后關(guān)閉websocket

1、【1、2、3】開始三個(gè)包就是普通的TCP三次握手。

2、【4】第4個(gè)包是請求頭攜帶了Upgrade:websocket的普通HTTP請求。

3、【5】服務(wù)端一個(gè)TCP響應(yīng)包,【6】服務(wù)端一個(gè)HTTP響應(yīng)包,101 Switching Protocols告訴客戶端協(xié)議進(jìn)行升級(jí)。

4、【7、8、9】第7、8、9個(gè)包,服務(wù)端向客戶端以WebSocket協(xié)議發(fā)送了三個(gè)包,WebSocket以幀格式發(fā)送消息內(nèi)容

  • Fin:1位,用來表明這是一個(gè)消息的最后的消息片斷,當(dāng)然第一個(gè)消息片斷也可能是最后的一個(gè)消息片斷.

  • RSV1, RSV2, RSV3: 分別都是1位,如果雙方之間沒有約定自定義協(xié)議,那么這幾位的值都必須為0,否則必須斷掉WebSocket連接.

  • Opcode:4位操作碼,定義有效負(fù)載數(shù)據(jù),如果收到了一個(gè)未知的操作碼,連接也必須斷掉,以下是定義的操作碼.

  • Payload length: 傳輸數(shù)據(jù)的長度,以字節(jié)的形式表示.

  • Payload data: 負(fù)載數(shù)據(jù),這一幀里傳的數(shù)據(jù)是 【b】.

5、【10、11、12、13】客戶端向服務(wù)端發(fā)送4個(gè)TCP應(yīng)答包,應(yīng)該是對(duì)收到消息的一個(gè)應(yīng)答

6、【14】客戶端調(diào)用close方法關(guān)閉websocket連接,可以看到在關(guān)閉之前服務(wù)端包已經(jīng)發(fā)出來了。

7、【15】服務(wù)端對(duì)客戶端的close進(jìn)行了應(yīng)答,關(guān)閉了連接。

8、【16、17、18、19、20】 TCP的4次揮手,另外一個(gè)包沒搞清楚是做什么的。

四、總結(jié)

WebSocket是基于TCP的,與HTTP同樣也是應(yīng)用層協(xié)議,但WebSocket的首次握手是依賴于HTTP協(xié)議,握手成功協(xié)議升級(jí)為WebSocket,然后就是長連接可以相互一直發(fā)送消息而不再是HTTP的那種請求/響應(yīng)機(jī)制,另外可以看到客戶端的端口在開始隨機(jī)用了一個(gè)值是52914后,在關(guān)閉之前一直會(huì)用同一端口,這樣才能找得到,IP用來找機(jī)器,端口用來找應(yīng)用。

注:下一篇再介紹一下心跳機(jī)制以及斷開重連機(jī)制。

http://www.risenshineclean.com/news/45478.html

相關(guān)文章:

  • 電子工程網(wǎng)官方網(wǎng)站網(wǎng)址怎么注冊
  • 做搜狗網(wǎng)站優(yōu)化搜索數(shù)據(jù)
  • 網(wǎng)站域名設(shè)計(jì)推薦百度推廣培訓(xùn)班
  • 網(wǎng)站建設(shè)遠(yuǎn)程工作搜索引擎優(yōu)化方案
  • 網(wǎng)站建設(shè)前期預(yù)算端點(diǎn)seo博客
  • 物流企業(yè)網(wǎng)站有哪些百度網(wǎng)站優(yōu)化排名
  • 做公司網(wǎng)站 找誰做網(wǎng)絡(luò)營銷主要學(xué)什么
  • 做網(wǎng)站 信息集成過程的順序品牌營銷策略案例
  • UE做的比較好的網(wǎng)站軟文的概念是什么
  • 開獎(jiǎng)網(wǎng)站怎么做營銷推廣網(wǎng)
  • 長春老火車站圖片如何宣傳推廣自己的產(chǎn)品
  • 用網(wǎng)站做淘客怎么做株洲seo優(yōu)化推薦
  • 房地產(chǎn)銷售自我介紹大兵seo博客
  • 淘寶網(wǎng)站是什么語言做的qq群推廣
  • 政府大型門戶網(wǎng)站建設(shè)方案seo專業(yè)培訓(xùn)班
  • 如何做旅游網(wǎng)站的旅行家網(wǎng)址推廣
  • 網(wǎng)站規(guī)劃書包括哪些方面公司官網(wǎng)怎么制作
  • 教務(wù)系統(tǒng)網(wǎng)站怎么做南寧網(wǎng)站seo外包
  • 中企動(dòng)力制作的網(wǎng)站后臺(tái)怎樣搭建自己的網(wǎng)站
  • 做網(wǎng)站一個(gè)月30ip網(wǎng)絡(luò)推廣是網(wǎng)絡(luò)營銷的基礎(chǔ)
  • 做cpa能用什么網(wǎng)站seo怎么優(yōu)化簡述
  • 怎么創(chuàng)建網(wǎng)站論壇重慶seo公司
  • 網(wǎng)站建設(shè)企業(yè)的未來發(fā)展計(jì)劃十大少兒編程教育品牌
  • 網(wǎng)頁設(shè)計(jì)代碼模板海賊王網(wǎng)站優(yōu)化排名提升
  • 牛商網(wǎng)營銷型網(wǎng)站建設(shè)廈門百度廣告開戶
  • 網(wǎng)站建設(shè)免費(fèi)教程我是seo關(guān)鍵詞
  • 佛山建網(wǎng)站建網(wǎng)站找哪個(gè)公司
  • 業(yè)余學(xué)做衣服上哪個(gè)網(wǎng)站軟文網(wǎng)站大全
  • 廈門國外網(wǎng)站建設(shè)公司排名下載百度app最新版到桌面
  • 微信商城怎么進(jìn)鎮(zhèn)江交叉口優(yōu)化