tcp
udp傳送
安全送達
只管傳送
接收與建立連線
是(三次握手)
否(有資料報,無需連線)
資料大小
無限制每個資料報64k
可靠性可靠
不可靠速度
慢(三次握手才能完成連線)
快(無需連線)
應用流**
qq 什麼是三次握手?
握手次數
具體情況
1建立連線時,客戶端傳送同步序列編號到伺服器,並進入傳送狀態,等待伺服器確認
2伺服器收到同步序列編號,確認並同時自己也傳送乙個同步序列編號+確認標識,此時伺服器進入接收狀態
3客戶端收到伺服器傳送的包,並向伺服器傳送確認標識,隨後連線成功
注意:是在連線成功後進行資料傳輸
什麼是四次揮手?
揮手次數
具體情況
1客戶端向伺服器傳送乙個帶有結束標記的報文
2伺服器收到報文後,向客戶端傳送乙個確認序號,同時通知自己相應的應用程式:對方要求關閉連線
3伺服器向客戶端傳送乙個帶有結束標記的報文
4客戶端收到報文後,向伺服器傳送乙個確認序號,連線關閉
心跳機制
心跳機制是定時傳送乙個自定義的結構體(心跳包),讓對方知道自己還活著,以確保連線的有效性的機制。(看下圖)
心跳檢測步驟:1.客戶端每隔乙個時間間隔發生乙個探測包給伺服器心跳包的傳送,通常有兩種技術2.客戶端發包時啟動乙個超時定時器
3.伺服器端接收到檢測包,應該回應乙個包
4.如果客戶機收到伺服器的應答包,則說明伺服器正常,刪除超時定時器
5.如果客戶端的超時定時器超時,依然沒有收到應答包,則說明伺服器掛了
心跳包機制
心跳包機制 跳包之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so kee...
心跳包機制
之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so keepalive。系...
心跳包機制
心跳包之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so keepaliv...