回覆列表
-
1 # 喲喲吼說科技
-
2 # 蘋果188312167
socket 就是把資料,前面寫上目的地,埠號。就像一封信寫上接收地址。然後,資料會被分成標準的長度的資料包,這是tcp/ip協議層,資料包內封裝到達的目的地。物理層傳輸是先傳播一些同步碼,比如101010101010111111111111,連續傳輸數次同步碼。接收端收到同步碼後,傳送響應握手訊號,開始接收。接收後,根據ip地址,確定接收計算機,把資料包合併成一個大的資料,成功後,接收機會返回應答訊號。傳送端接到應答訊號確認成功。接收機根據埠號分配給計算機指定程式。
socket又稱為套接字,用以TCP建立連線並進行通訊時來表示的IP地址加埠號的結構作為連線的端點。
如題,傳輸中的兩端如何知道哪些bit組成的同一個協議?
喲喲認為有兩種方法可以實現,一是透過告知對端每條資訊的長度,二是採用特定的分隔符將資料進行分割。
下面喲喲簡單介紹一下兩種方式的實現:
1、固定資訊的長度當資料被分片後,傳送端在每次傳送資料資訊時會在首部裡新增一個欄位,用以表示後面內容的長度是多少,在接收端再根據長度進行組合即可;
2、特定的分隔符透過在資料傳送完畢後加入特定的分隔符,表示該資料資訊已傳送完畢。接收端會透過分隔符來確認資料是否傳送完畢,但需要注意的是每條訊息中不能包含此分隔符;