當數據通過網絡傳輸時,顯然是二進制形式。他們如何區分位流中的不同部分
所以它可能是一些
1011001
,然後其他一些數據,也許
1110100111001
這是一起發送。
當他們到達時,我們如何區分他們。是否有一些指示每個數據結束的特殊標誌?
如果是的話我們如何確保它是唯一的,我們不會感到困惑?
當數據通過網絡傳輸時,顯然是二進制形式。他們如何區分位流中的不同部分
所以它可能是一些
1011001
,然後其他一些數據,也許
1110100111001
這是一起發送。
當他們到達時,我們如何區分他們。是否有一些指示每個數據結束的特殊標誌?
如果是的話我們如何確保它是唯一的,我們不會感到困惑?
你可以定義一個特殊的位串模式作爲開始或並且一些協議會執行此操作,但是您必須使其足夠長(例如256位),以致它不太可能出現在正常數據流中。
更可靠的方法是逃避結束模式,如果它出現在正常的數據。您可能知道這是如何工作的,因爲在某個時間點,每個人都會在字符串中使用\
。他們必須逃脫\\
。
第三種方法適用於預先知道您的數據流的時間長短,因此您可以在實際發送數據之前發送一個長度。
實際的細節被定義爲協議並且雙方都必須遵循該協議的結構,但是它的定義。
例如,以太網幀開始與8字節前同步碼和幀定界符的開始,每個字節是10101010
(我不知道它)
每個數據generaly由字節讀(8個比特),幀定義結構: https://en.wikipedia.org/wiki/Ethernet_frame
每一幀包含分組:
https://en.wikipedia.org/wiki/Network_packet
嘗試谷歌搜索一些關於這一點,但我的答案是有定義的結構,如何發送數據
閱讀OSI圖層或從Andy購買「計算機網絡」一書。 –