IM即時通訊的一些基本概念梳理

2021-10-09 03:11:56 字數 1283 閱讀 7511

一、websocket和http的區別

相同點:

websocket 和 http 都是基於tcp的應用層協議,都是可靠性傳輸協議。

不同點:

1、http請求是單向的,需要等到客戶端發起請求,服務端才能響應;

websocket是全雙工協議,客戶端通過http/1.1協議進行握手,連線就建立了,通訊雙方都可以在任何時刻向另一方向傳送資料,指導關閉請求

2、http請求需要再每次請求都攜帶很多狀態資訊

websocket需要先建立連線,所以使得其是一種有狀態的協議,之後通訊時可以省略部分狀態資訊

3、websocket定義了二進位制幀,相對http可以更輕鬆地處理二進位制內容

二、客戶端和服務端通訊的成長階段

1、輪詢(polling)階段

客戶端傳送請求request,伺服器不管有沒有新訊息,立即返回response,然後關閉鏈結,over

2、長輪詢 (long polling) 階段

客戶端傳送請求request,伺服器沒有訊息就一直不返回response,等到有新訊息或者超時後再返回給客戶端,然後請求結束

3、websocket階段

(1)客戶端通過http/1.1協議的101狀態碼傳送請求,客戶端進行回應,即第一次握手完成

(2)雙方建立了信任關係,客戶端和服務端可以互相傳送訊息

(3)客戶端傳送結束通訊的請求,服務端回應,over

乙個典型的websocket握手請求如下:

客戶端請求

伺服器回應

程序通訊的一些基本概念

1.目的 1 資料傳輸 乙個程序需要將他的程序資料傳送給另乙個程序。2 資源共享 多個程序之間共享同樣的資源。3 通知事件 乙個程序需要向另乙個或一組程序傳送訊息,通知他們發生了某種事件。4 程序控制 有些程序希望完全控制另乙個程序的執行 如debug程序 此時控制程序希望能夠攔截另乙個程序的所有操...

網路通訊的一些基本概念

最初由四個位元組,四個字點表示 130.207.244.244 ipv4 fe8o fcfd 4aff fecf ea4e ipv6 不便記憶,所以常用主機名 hostname 代替 127.由本地程式使用16即位掩碼,表示該子網內部ip位址前16位要一致 5.資料報分組 df標記 don t fr...

網路通訊中的一些基本概念

以下內容摘抄自網路 ip 網際協議 在網路的世界裡,為了要辨識每一部計算機的位置,因此有了計算機 ip 位址的定義。乙個 ip 就好似乙個門牌!例如,你要去微軟的 的話,就要去 64.4.11.42 這個 ip 位置!這些可以直接在網際網路上溝通的 ip 就被稱為 實體 ip 了。虛擬ip tcp和...