tcp通訊的理解總結

2021-10-08 16:09:51 字數 916 閱讀 7485

tcp的特點,與udp的不同點

1.tcp是可靠傳輸的,而udp不是.(tcp有應答與重傳機制)

2.tcp是位元組流傳輸,udp是整包傳輸,tcp的幀頭需要在應用層解析.

3.tcp是一對一的,不是廣播形式,udp適用於廣播形式的傳送需求.

4.tcp的及時性可能不如udp.

tcp通訊的步驟:

伺服器端:

1.配置

2.繫結ip埠 bind

3.監聽 listen

4.接受 accept

5.傳送接收 send recv

6.關閉連線 close

客戶端:

1.配置

2.連線 connect

3.傳送接收 send recv

4.關閉連線 close

花了十多分鐘碼了下最簡版的c++**,如下(先不用糾結某些效能與問題):

伺服器端:

#include #include #include #include using namespace std;

/* *

*/int main(int argc, char** ar**)

{ int socket_fd = socket(af_inet, sock_stream, 0);

struct sockaddr_in addr;

addr.sin_family = af_inet;

addr.sin_port = htons(8888); // self port

addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // self ip

int res

TCP通訊丟包原因總結

出處 今天在公司問老大,公司的專案底層,是使用的tcp,因為可靠,自動斷線重連,在底層都實現了,但是我記得tcp也會有掉包的問題,所以這文章就誕生了 關於tcp掉包的問題,tcp是基於不可靠的網路實現可靠的傳輸,肯定也會存在掉包的情況。如果通訊中發現缺少資料或者丟包,那麼,最大的可能在於程式傳送的過...

TCP通訊丟包原因總結

今天在公司問老大,公司的專案底層,是使用的tcp,因為可靠,自動斷線重連,在底層都實現了,但是我記得tcp也會有掉包的問題,所以這文章就誕生了 關於tcp掉包的問題,tcp是基於不可靠的網路實現可靠的傳輸,肯定也會存在掉包的情況。如果通訊中發現缺少資料或者丟包,那麼,最大的可能在於程式傳送的過程或者...

簡單理解TCP通訊的三次握手

tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。位碼 可以理解為請求狀態 有6種標示 syn synchronous建立聯機 ack acknowledgement 確認 psh push傳送 fin finish結束 rst reset重置 urg urgen...