擅长:python、mysql、java
<p>TCP使用数据包进行传输,但它不向应用程序公开。相反,TCP层可以决定如何将数据分成包,甚至是片段,以及如何传递它们。通常情况下,这种情况是由于网络拓扑结构不稳定造成的。在</p>
<p>从应用程序的角度来看,您应该将TCP连接视为一个八位字节流,即数据单元是字节,而不是数据包。在</p>
<p>如果您想传输“数据包”,请使用面向数据报的协议,如UDP(但请注意,此类数据包有大小限制,使用UDP时,您需要自己处理重新传输),或手动包装它们。例如,您总是可以先通过TCP发送包的长度,然后再发送有效负载。另一方面,首先读取大小,然后知道需要跟随多少字节(注意,可能需要多次读取才能获得所有内容,因为存在碎片)。在这里,TCP将负责顺序传递和重传,因此这更容易。在</p>