91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

有了HTTP為什么還要有websocket協(xié)議?

小林coding ? 來源:小林coding ? 作者:小林coding ? 2022-10-20 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

平時(shí)我們打開網(wǎng)頁,比如購物網(wǎng)站某寶。都是點(diǎn)一下「列表商品」,跳轉(zhuǎn)一下網(wǎng)頁就到了「商品詳情」。

從 HTTP 協(xié)議的角度來看,就是點(diǎn)一下網(wǎng)頁上的某個(gè)按鈕,前端發(fā)一次 HTTP請(qǐng) 求,網(wǎng)站返回一次 HTTP 響應(yīng)。這種由客戶端主動(dòng)請(qǐng)求,服務(wù)器響應(yīng)的方式也滿足大部分網(wǎng)頁的功能場(chǎng)景。

但有沒有發(fā)現(xiàn),這種情況下,服務(wù)器從來就「不會(huì)主動(dòng)」給客戶端發(fā)一次消息。就像你喜歡的女生從來不會(huì)主動(dòng)找你一樣。

但如果現(xiàn)在,你在刷網(wǎng)頁的時(shí)候「右下角」突然彈出一個(gè)小廣告,提示你【一個(gè)人在家偷偷才能玩哦】。

求知,好學(xué),勤奮,這些刻在你 DNA 里的東西都動(dòng)起來了。

你點(diǎn)開后發(fā)現(xiàn)。

長相平平無奇的古某提示你"道士 9 條狗,全服橫著走"。

影帝某輝老師跟你說"系兄弟就來砍我"。

來都來了,你就選了個(gè)角色進(jìn)到了游戲界面里。

這時(shí)候,上來就是一個(gè)小怪,從遠(yuǎn)處走來,然后瘋狂拿木棒子抽你。

你全程沒點(diǎn)任何一次鼠標(biāo)。服務(wù)器就自動(dòng)將怪物的移動(dòng)數(shù)據(jù)和攻擊數(shù)據(jù)源源不斷發(fā)給你了。

這….太暖心了。

感動(dòng)之余,問題就來了,

像這種看起來服務(wù)器主動(dòng)發(fā)消息給客戶端的場(chǎng)景,是怎么做到的?

在真正回答這個(gè)問題之前,我們先來聊下一些相關(guān)的知識(shí)背景。

b00d2f1c-503a-11ed-a3b6-dac502259ad0.png

使用 HTTP 不斷輪詢

其實(shí)問題的痛點(diǎn)在于,怎么樣才能在用戶不做任何操作的情況下,網(wǎng)頁能收到消息并發(fā)生變更。

最常見的解決方案是,網(wǎng)頁的前端代碼里不斷定時(shí)發(fā) HTTP 請(qǐng)求到服務(wù)器,服務(wù)器收到請(qǐng)求后給客戶端響應(yīng)消息。

這其實(shí)時(shí)一種「」服務(wù)器推的形式。

它其實(shí)并不是服務(wù)器主動(dòng)發(fā)消息到客戶端,而是客戶端自己不斷偷偷請(qǐng)求服務(wù)器,只是用戶無感知而已。

用這種方式的場(chǎng)景也有很多,最常見的就是掃碼登錄。

比如,某信公眾號(hào)平臺(tái),登錄頁面二維碼出現(xiàn)之后,前端網(wǎng)頁根本不知道用戶掃沒掃,于是不斷去向后端服務(wù)器詢問,看有沒有人掃過這個(gè)碼。而且是以大概 1 到 2 秒的間隔去不斷發(fā)出請(qǐng)求,這樣可以保證用戶在掃碼后能在 1 到 2 秒內(nèi)得到及時(shí)的反饋,不至于等太久。

b0234c84-503a-11ed-a3b6-dac502259ad0.png使用HTTP定時(shí)輪詢

但這樣,會(huì)有兩個(gè)比較明顯的問題:

  • 當(dāng)你打開 F12 頁面時(shí),你會(huì)發(fā)現(xiàn)滿屏的 HTTP 請(qǐng)求。雖然很小,但這其實(shí)也消耗帶寬,同時(shí)也會(huì)增加下游服務(wù)器的負(fù)擔(dān)。
  • 最壞情況下,用戶在掃碼后,需要等個(gè) 1~2 秒,正好才觸發(fā)下一次 HTTP 請(qǐng)求,然后才跳轉(zhuǎn)頁面,用戶會(huì)感到明顯的卡頓。

使用起來的體驗(yàn)就是,二維碼出現(xiàn)后,手機(jī)掃一掃,然后在手機(jī)上點(diǎn)個(gè)確認(rèn),這時(shí)候卡頓等個(gè) 1~2 秒,頁面才跳轉(zhuǎn)。

b029a0d4-503a-11ed-a3b6-dac502259ad0.png不斷輪詢查看是否有掃碼

那么問題又來了,有沒有更好的解決方案?

有,而且實(shí)現(xiàn)起來成本還非常低。

長輪詢

我們知道,HTTP 請(qǐng)求發(fā)出后,一般會(huì)給服務(wù)器留一定的時(shí)間做響應(yīng),比如 3 秒,規(guī)定時(shí)間內(nèi)沒返回,就認(rèn)為是超時(shí)。

如果我們的 HTTP 請(qǐng)求將超時(shí)設(shè)置的很大,比如 30 秒,在這 30 秒內(nèi)只要服務(wù)器收到了掃碼請(qǐng)求,就立馬返回給客戶端網(wǎng)頁。如果超時(shí),那就立馬發(fā)起下一次請(qǐng)求。

這樣就減少了 HTTP 請(qǐng)求的個(gè)數(shù),并且由于大部分情況下,用戶都會(huì)在某個(gè) 30 秒的區(qū)間內(nèi)做掃碼操作,所以響應(yīng)也是及時(shí)的。

b03a1cde-503a-11ed-a3b6-dac502259ad0.png長輪詢

比如,某度云網(wǎng)盤就是這么干的。所以你會(huì)發(fā)現(xiàn)一掃碼,手機(jī)上點(diǎn)個(gè)確認(rèn),電腦端網(wǎng)頁就秒跳轉(zhuǎn),體驗(yàn)很好。

b04895fc-503a-11ed-a3b6-dac502259ad0.png長輪詢的方式來替代

像這種發(fā)起一個(gè)請(qǐng)求,在較長時(shí)間內(nèi)等待服務(wù)器響應(yīng)的機(jī)制,就是所謂的長訓(xùn)輪機(jī)制。我們常用的消息隊(duì)列 RocketMQ 中,消費(fèi)者去取數(shù)據(jù)時(shí),也用到了這種方式。

b05d164e-503a-11ed-a3b6-dac502259ad0.pngRocketMQ的消費(fèi)者通過長輪詢獲取數(shù)據(jù)

像這種,在用戶不感知的情況下,服務(wù)器將數(shù)據(jù)推送給瀏覽器的技術(shù),就是所謂的服務(wù)器推送技術(shù),它還有個(gè)毫不沾邊的英文名,comet 技術(shù),大家聽過就好。

上面提到的兩種解決方案(不斷輪詢和長輪詢),本質(zhì)上,其實(shí)還是客戶端主動(dòng)去取數(shù)據(jù)。

對(duì)于像掃碼登錄這樣的簡單場(chǎng)景還能用用。但如果是網(wǎng)頁游戲呢,游戲一般會(huì)有大量的數(shù)據(jù)需要從服務(wù)器主動(dòng)推送到客戶端。

這就得說下 websocket 了。

websocket是什么

我們知道 TCP 連接的兩端,同一時(shí)間里,雙方都可以主動(dòng)向?qū)Ψ桨l(fā)送數(shù)據(jù)。這就是所謂的全雙工。

而現(xiàn)在使用最廣泛的HTTP/1.1,也是基于TCP協(xié)議的,同一時(shí)間里,客戶端和服務(wù)器只能有一方主動(dòng)發(fā)數(shù)據(jù),這就是所謂的半雙工

也就是說,好好的全雙工 TCP,被 HTTP/1.1 用成了半雙工。

為什么?

這是由于 HTTP 協(xié)議設(shè)計(jì)之初,考慮的是看看網(wǎng)頁文本的場(chǎng)景,能做到客戶端發(fā)起請(qǐng)求再由服務(wù)器響應(yīng),就夠了,根本就沒考慮網(wǎng)頁游戲這種,客戶端和服務(wù)器之間都要互相主動(dòng)發(fā)大量數(shù)據(jù)的場(chǎng)景。

所以,為了更好的支持這樣的場(chǎng)景,我們需要另外一個(gè)基于TCP的新協(xié)議。

于是新的應(yīng)用層協(xié)議websocket就被設(shè)計(jì)出來了。

大家別被這個(gè)名字給帶偏了。雖然名字帶了個(gè)socket,但其實(shí) socket 和 websocket 之間,就跟雷峰和雷峰塔一樣,二者接近毫無關(guān)系。

b0ec0f7a-503a-11ed-a3b6-dac502259ad0.pngwebsocket在四層網(wǎng)絡(luò)協(xié)議中的位置

怎么建立websocket連接

我們平時(shí)刷網(wǎng)頁,一般都是在瀏覽器上刷的,一會(huì)刷刷圖文,這時(shí)候用的是 HTTP 協(xié)議,一會(huì)打開網(wǎng)頁游戲,這時(shí)候就得切換成我們新介紹的 websocket 協(xié)議。

為了兼容這些使用場(chǎng)景。瀏覽器在 TCP 三次握手建立連接之后,都統(tǒng)一使用 HTTP 協(xié)議先進(jìn)行一次通信

  • 如果此時(shí)是普通的 HTTP 請(qǐng)求,那后續(xù)雙方就還是老樣子繼續(xù)用普通 HTTP 協(xié)議進(jìn)行交互,這點(diǎn)沒啥疑問。
  • 如果這時(shí)候是想建立 websocket 連接,就會(huì)在 HTTP 請(qǐng)求里帶上一些特殊的header 頭,如下:
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Key: T2a6wZlAwhgQNqruZ2YUyg==

這些 header 頭的意思是,瀏覽器想升級(jí)協(xié)議(Connection: Upgrade),并且想升級(jí)成 websocket 協(xié)議(Upgrade: websocket)。同時(shí)帶上一段隨機(jī)生成的 base64 碼(Sec-WebSocket-Key),發(fā)給服務(wù)器。

如果服務(wù)器正好支持升級(jí)成 websocket 協(xié)議。就會(huì)走 websocket 握手流程,同時(shí)根據(jù)客戶端生成的 base64 碼,用某個(gè)公開的算法變成另一段字符串,放在 HTTP 響應(yīng)的 Sec-WebSocket-Accept 頭里,同時(shí)帶上101狀態(tài)碼,發(fā)回給瀏覽器。HTTP 的響應(yīng)如下:

HTTP/1.1101SwitchingProtocols

Sec-WebSocket-Accept:iBJKv/ALIW2DobfoA4dmr3JHBCY=

Upgrade:websocket

Connection:Upgrade

HTTP 狀態(tài)碼=200(正常響應(yīng))的情況,大家見得多了。101 確實(shí)不常見,它其實(shí)是指協(xié)議切換。

b0f4e4d8-503a-11ed-a3b6-dac502259ad0.pngbase64轉(zhuǎn)為新的字符串

之后,瀏覽器也用同樣的公開算法base64碼轉(zhuǎn)成另一段字符串,如果這段字符串跟服務(wù)器傳回來的字符串一致,那驗(yàn)證通過。

b0fe02ac-503a-11ed-a3b6-dac502259ad0.png對(duì)比客戶端和服務(wù)端生成的字符串

就這樣經(jīng)歷了一來一回兩次 HTTP 握手,websocket就建立完成了,后續(xù)雙方就可以使用 webscoket 的數(shù)據(jù)格式進(jìn)行通信了。

b108a360-503a-11ed-a3b6-dac502259ad0.png建立websocket連接.drawio

websocket抓包

我們可以用wireshark抓個(gè)包,實(shí)際看下數(shù)據(jù)包的情況。

b123f5b6-503a-11ed-a3b6-dac502259ad0.png客戶端請(qǐng)求升級(jí)為websocket

上面這張圖,注意畫了紅框的第2445行報(bào)文,是websocket的第一次握手,意思是發(fā)起了一次帶有特殊Header的HTTP請(qǐng)求。

b19178de-503a-11ed-a3b6-dac502259ad0.png服務(wù)器同意升級(jí)為websocket協(xié)議

上面這個(gè)圖里畫了紅框的4714行報(bào)文,就是服務(wù)器在得到第一次握手后,響應(yīng)的第二次握手,可以看到這也是個(gè) HTTP 類型的報(bào)文,返回的狀態(tài)碼是 101。同時(shí)可以看到返回的報(bào)文 header 中也帶有各種websocket相關(guān)的信息,比如Sec-WebSocket-Accept。

b30e7a0e-503a-11ed-a3b6-dac502259ad0.png兩次HTTP請(qǐng)求之后正式使用websocket通信

上面這張圖就是全貌了,從截圖上的注釋可以看出,websocket和HTTP一樣都是基于TCP的協(xié)議。經(jīng)歷了三次TCP握手之后,利用 HTTP 協(xié)議升級(jí)為 websocket 協(xié)議。

你在網(wǎng)上可能會(huì)看到一種說法:"websocket 是基于HTTP的新協(xié)議",其實(shí)這并不對(duì),因?yàn)閣ebsocket只有在建立連接時(shí)才用到了HTTP,升級(jí)完成之后就跟HTTP沒有任何關(guān)系了

這就好像你喜歡的女生通過你要到了你大學(xué)室友的微信,然后他們自己就聊起來了。你能說這個(gè)女生是通過你去跟你室友溝通的嗎?不能。你跟HTTP一樣,都只是個(gè)工具人。

這就有點(diǎn)"借殼生蛋"的那意思。

b347d3f8-503a-11ed-a3b6-dac502259ad0.pngHTTP和websocket的關(guān)系

websocket的消息格式

上面提到在完成協(xié)議升級(jí)之后,兩端就會(huì)用webscoket的數(shù)據(jù)格式進(jìn)行通信。

數(shù)據(jù)包在websocket中被叫做,我們來看下它的數(shù)據(jù)格式長什么樣子。

b35694f6-503a-11ed-a3b6-dac502259ad0.pngwebsocket報(bào)文格式

這里面字段很多,但我們只需要關(guān)注下面這幾個(gè)。

opcode字段:這個(gè)是用來標(biāo)志這是個(gè)什么類型的數(shù)據(jù)幀。比如。

  • 等于 1 ,是指text類型(string)的數(shù)據(jù)包
  • 等于 2 ,是二進(jìn)制數(shù)據(jù)類型([]byte)的數(shù)據(jù)包
  • 等于 8 ,是關(guān)閉連接的信號(hào)

payload字段:存放的是我們真正想要傳輸?shù)臄?shù)據(jù)的長度,單位是字節(jié)。比如你要發(fā)送的數(shù)據(jù)是字符串"111",那它的長度就是3。

b3729f02-503a-11ed-a3b6-dac502259ad0.pngimg

另外,可以看到,我們存放** payload 長度的字段有好幾個(gè)**,我們既可以用最前面的7bit, 也可以用后面的7+16bit 或 7+64bit。

那么問題就來了。

我們知道,在數(shù)據(jù)層面,大家都是 01 二進(jìn)制流。我怎么知道什么情況下應(yīng)該讀 7 bit,什么情況下應(yīng)該讀7+16bit呢?

websocket會(huì)用最開始的7bit做標(biāo)志位。不管接下來的數(shù)據(jù)有多大,都先讀最先的7個(gè)bit,根據(jù)它的取值決定還要不要再讀個(gè) 16bit 或 64bit。

  • 如果最開始的7bit的值是 0~125,那么它就表示了 payload 全部長度,只讀最開始的7個(gè)bit就完事了。
b38d0aa4-503a-11ed-a3b6-dac502259ad0.pngpayload長度在0到125之間
  • 如果是126(0x7E)。那它表示payload的長度范圍在 126~65535 之間,接下來還需要再讀16bit。這16bit會(huì)包含payload的真實(shí)長度。
b39ec1fe-503a-11ed-a3b6-dac502259ad0.pngpayload長度在126到65535之間
  • 如果是127(0x7F)。那它表示payload的長度范圍>=65536,接下來還需要再讀64bit。這64bit會(huì)包含payload的長度。這能放2的64次方byte的數(shù)據(jù),換算一下好多個(gè)TB,肯定夠用了。
b3ab2a16-503a-11ed-a3b6-dac502259ad0.pngpayload長度大于等于65536的情況

payload data字段:這里存放的就是真正要傳輸?shù)臄?shù)據(jù),在知道了上面的payload長度后,就可以根據(jù)這個(gè)值去截取對(duì)應(yīng)的數(shù)據(jù)。

大家有沒有發(fā)現(xiàn)一個(gè)小細(xì)節(jié),websocket的數(shù)據(jù)格式也是數(shù)據(jù)頭(內(nèi)含payload長度) + payload data 的形式。

這是因?yàn)?TCP 協(xié)議本身就是全雙工,但直接使用純裸TCP去傳輸數(shù)據(jù),會(huì)有粘包的"問題"。為了解決這個(gè)問題,上層協(xié)議一般會(huì)用消息頭+消息體的格式去重新包裝要發(fā)的數(shù)據(jù)。

消息頭里一般含有消息體的長度,通過這個(gè)長度可以去截取真正的消息體。

HTTP 協(xié)議和大部分 RPC 協(xié)議,以及我們今天介紹的websocket協(xié)議,都是這樣設(shè)計(jì)的。

b3c3eae2-503a-11ed-a3b6-dac502259ad0.png消息邊界長度標(biāo)志

websocket的使用場(chǎng)景

websocket完美繼承了 TCP 協(xié)議的全雙工能力,并且還貼心的提供了解決粘包的方案。

它適用于需要服務(wù)器和客戶端(瀏覽器)頻繁交互的大部分場(chǎng)景,比如網(wǎng)頁/小程序游戲,網(wǎng)頁聊天室,以及一些類似飛書這樣的網(wǎng)頁協(xié)同辦公軟件。

回到文章開頭的問題,在使用 websocket 協(xié)議的網(wǎng)頁游戲里,怪物移動(dòng)以及攻擊玩家的行為是服務(wù)器邏輯產(chǎn)生的,對(duì)玩家產(chǎn)生的傷害等數(shù)據(jù),都需要由服務(wù)器主動(dòng)發(fā)送給客戶端,客戶端獲得數(shù)據(jù)后展示對(duì)應(yīng)的效果。

b3d716da-503a-11ed-a3b6-dac502259ad0.pngwebsocket的使用場(chǎng)景

總結(jié)

  • TCP 協(xié)議本身是全雙工的,但我們最常用的 HTTP/1.1,雖然是基于 TCP 的協(xié)議,但它是半雙工的,對(duì)于大部分需要服務(wù)器主動(dòng)推送數(shù)據(jù)到客戶端的場(chǎng)景,都不太友好,因此我們需要使用支持全雙工的 websocket 協(xié)議。
  • 在 HTTP/1.1 里,只要客戶端不問,服務(wù)端就不答?;谶@樣的特點(diǎn),對(duì)于登錄頁面這樣的簡單場(chǎng)景,可以使用定時(shí)輪詢或者長輪詢的方式實(shí)現(xiàn)服務(wù)器推送(comet)的效果。
  • 對(duì)于客戶端和服務(wù)端之間需要頻繁交互的復(fù)雜場(chǎng)景,比如網(wǎng)頁游戲,都可以考慮使用 websocket 協(xié)議。
  • websocket 和 socket 幾乎沒有任何關(guān)系,只是叫法相似。
  • 正因?yàn)楦鱾€(gè)瀏覽器都支持 HTTP協(xié) 議,所以 websocket 會(huì)先利用HTTP協(xié)議加上一些特殊的 header 頭進(jìn)行握手升級(jí)操作,升級(jí)成功后就跟 HTTP 沒有任何關(guān)系了,之后就用 websocket 的數(shù)據(jù)格式進(jìn)行收發(fā)數(shù)據(jù)。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    14

    文章

    10250

    瀏覽量

    91476
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    537

    瀏覽量

    35343
  • 半雙工
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9346

原文標(biāo)題:有了 HTTP 協(xié)議,為什么還要有 websocket 協(xié)議?

文章出處:【微信號(hào):小林coding,微信公眾號(hào):小林coding】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    從0到1搭建實(shí)時(shí)日志監(jiān)控系統(tǒng):基于WebSocket + Elasticsearch的實(shí)戰(zhàn)方案

    低成本、實(shí)時(shí)性高的日志監(jiān)控系統(tǒng)。 2. 技術(shù)選型 數(shù)據(jù)存儲(chǔ) :Elasticsearch(高效檢索與聚合) 實(shí)時(shí)推送 :WebSocket(全雙工通信,避免HTTP輪詢) 后端服務(wù) :Node.js
    發(fā)表于 01-09 16:43

    工業(yè)領(lǐng)域?yàn)槭裁磿?huì)用到HTTP協(xié)議

    工業(yè)領(lǐng)域使用HTTP協(xié)議主要源于其 通用性、易用性、擴(kuò)展性 以及與現(xiàn)代工業(yè)系統(tǒng)集成需求的契合,盡管工業(yè)環(huán)境對(duì)實(shí)時(shí)性、可靠性的要求較高,但HTTP在特定場(chǎng)景下仍能發(fā)揮關(guān)鍵作用。以下是具體原因分析
    的頭像 發(fā)表于 12-27 09:38 ?145次閱讀

    HTTP物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?什么功能?

    HTTP物聯(lián)網(wǎng)網(wǎng)關(guān)是一種硬件或軟件設(shè)備,位于物聯(lián)網(wǎng)設(shè)備與云端服務(wù)之間,以HTTP協(xié)議為核心通信方式,負(fù)責(zé)數(shù)據(jù)的采集、處理、傳輸和管理。它作為物聯(lián)網(wǎng)架構(gòu)中的關(guān)鍵組件,解決不同設(shè)備間
    的頭像 發(fā)表于 12-24 11:33 ?316次閱讀
    <b class='flag-5'>HTTP</b>物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?<b class='flag-5'>有</b>什么功能?

    HTTP通信網(wǎng)關(guān)是什么?什么功能?

    HTTP通信網(wǎng)關(guān)是連接不同網(wǎng)絡(luò)或協(xié)議的關(guān)鍵設(shè)備/服務(wù)器,在HTTP通信中扮演著協(xié)議轉(zhuǎn)換、安全加固、性能優(yōu)化等核心角色,其本質(zhì)是 實(shí)現(xiàn)不同協(xié)議
    的頭像 發(fā)表于 12-23 11:14 ?428次閱讀

    4G工業(yè)網(wǎng)關(guān)實(shí)現(xiàn)PLC數(shù)據(jù)采集與HTTP協(xié)議上報(bào)

    HTTP(超文本傳輸協(xié)議)是互聯(lián)網(wǎng)最基礎(chǔ)的應(yīng)用層協(xié)議,在工業(yè)物聯(lián)網(wǎng)(IIoT)中也被廣泛用于設(shè)備上云、數(shù)據(jù)上報(bào)與系統(tǒng)集成通信,其標(biāo)準(zhǔn)化、跨平臺(tái)和易實(shí)現(xiàn)的特點(diǎn),使其成為工業(yè)網(wǎng)關(guān)與云平臺(tái)之間的重要橋梁
    的頭像 發(fā)表于 12-23 10:22 ?274次閱讀
    4G工業(yè)網(wǎng)關(guān)實(shí)現(xiàn)PLC數(shù)據(jù)采集與<b class='flag-5'>HTTP</b><b class='flag-5'>協(xié)議</b>上報(bào)

    使用 HTTP 協(xié)議能否實(shí)現(xiàn) IAP 功能?

    使用 HTTP 協(xié)議,能否實(shí)現(xiàn) IAP 功能?
    發(fā)表于 12-23 06:35

    使用HTTP實(shí)現(xiàn)IAP的方法

    。 HTTP 基于 TCP 協(xié)議運(yùn)行,它提供一種以 HTML 表單形式從 Web 客戶端(Mozilla Firefox或 Microsoft Internet Explorer)發(fā)送二進(jìn)制文件的方式。這稱為
    發(fā)表于 12-16 06:18

    自動(dòng)駕駛既然雙目攝像頭,為什么還要三目攝像頭?

    視覺系統(tǒng)中。 但在實(shí)地落地時(shí),有些廠商并未止步于雙目,而是選擇三目攝像頭的方案。為什么雙目,還要選擇三目攝像頭? 雙目攝像頭怎么“看出”深度? 雖然雙目攝像頭理論上可以還原三維、
    的頭像 發(fā)表于 12-09 08:59 ?969次閱讀
    自動(dòng)駕駛既然<b class='flag-5'>有</b>雙目攝像頭<b class='flag-5'>了</b>,為什么<b class='flag-5'>還要</b>三目攝像頭?

    既然獨(dú)立看門狗,為啥還要窗口看門狗(WWDT),窗口看門狗的特色是什么?

    既然獨(dú)立看門狗,為啥還要窗口看門狗(WWDT),窗口看門狗的特色是什么?
    發(fā)表于 11-21 06:42

    Modbus協(xié)議轉(zhuǎn)HTTP協(xié)議,實(shí)現(xiàn)JSON格式對(duì)接MES等系統(tǒng)平臺(tái)

    不用聯(lián)外網(wǎng)不用寫程序,通過智能網(wǎng)關(guān)IGT-DSER簡單配置參數(shù),即可實(shí)現(xiàn)HTTP協(xié)議對(duì)接各種系統(tǒng)平臺(tái),支持POST/GET/PUT等多種方法,可同時(shí)作為HTTP協(xié)議的客戶端和服務(wù)端。
    發(fā)表于 10-27 10:33

    一文吃透WebSocket:智能物聯(lián)網(wǎng)通信的入門與實(shí)戰(zhàn)全攻略!

    解決方案,助你輕松掌握這一核心技術(shù)。 一、WebSocket基礎(chǔ)知識(shí) 1.1 ?什么是Websocket? WebSocket是HTML5下一種新的協(xié)議(本質(zhì)上是一個(gè)基于TCP的
    的頭像 發(fā)表于 10-15 18:16 ?478次閱讀
    一文吃透<b class='flag-5'>WebSocket</b>:智能物聯(lián)網(wǎng)通信的入門與實(shí)戰(zhàn)全攻略!

    智能物聯(lián)網(wǎng)實(shí)時(shí)通信實(shí)戰(zhàn):WebSocket技術(shù)解析 !

    輔以實(shí)戰(zhàn)案例,助你快速上手。 一、WebSocket基礎(chǔ)知識(shí) 1.1 ?什么是Websocket? WebSocket是HTML5下一種新的協(xié)議(本質(zhì)上是一個(gè)基于TCP的
    的頭像 發(fā)表于 10-15 18:16 ?1034次閱讀
    智能物聯(lián)網(wǎng)實(shí)時(shí)通信實(shí)戰(zhàn):<b class='flag-5'>WebSocket</b>技術(shù)解析 !

    協(xié)議解析網(wǎng)關(guān)是什么?什么功能?

    、OPCUA、HTTP等),并將其轉(zhuǎn)換為目標(biāo)系統(tǒng)或設(shè)備可識(shí)別的協(xié)議格式,從而實(shí)現(xiàn)跨協(xié)議的通信與數(shù)據(jù)交互。 簡單來說,協(xié)議解析網(wǎng)關(guān)就像“翻譯官”,在使用不同“語言”(
    的頭像 發(fā)表于 08-13 14:04 ?871次閱讀
    <b class='flag-5'>協(xié)議</b>解析網(wǎng)關(guān)是什么?<b class='flag-5'>有</b>什么功能?

    HTTP協(xié)議在工業(yè)領(lǐng)域會(huì)用到嗎

    HTTP協(xié)議在工業(yè)領(lǐng)域會(huì)用到,并且在工業(yè)互聯(lián)網(wǎng)、設(shè)備管理、數(shù)據(jù)交互等多個(gè)方面發(fā)揮著重要作用,以下為你詳細(xì)介紹: 工業(yè)互聯(lián)網(wǎng)場(chǎng)景 設(shè)備接入與管理 原理:在工業(yè)互聯(lián)網(wǎng)平臺(tái)中,各類工業(yè)設(shè)備(如傳感器
    的頭像 發(fā)表于 06-03 09:17 ?673次閱讀

    基于RK3576開發(fā)板的http/https通訊

    HTTP(超文本傳輸協(xié)議)和HTTPS(安全超文本傳輸協(xié)議)是互聯(lián)網(wǎng)中廣泛應(yīng)用的協(xié)議,用于客戶端與服務(wù)器之間的通信。HTTPS通過SSL/TLS協(xié)議
    的頭像 發(fā)表于 05-10 11:24 ?1851次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>http</b>/https通訊