TCP 和 UDP 都不能保证数据包按顺序到达目的地,因为它们都使用 IP 数据包,而 IP 不做任何排序。
对于 UDP,有两个不同的问题。一个是组成单个数据报的数据包的顺序。你无法控制这一点,我知道的每个实现都会按顺序发送它们。
但是,您可以按您想要的任何顺序发送数据报。组成数据报的各个片段将由接收器重新排序以重建原始数据报。乱序接收的数据报(不是按照发送的顺序)将按照接收的顺序传递给应用程序。当接收到重建数据报所需的最后一个片段时,就认为该数据报已收到。数据报将在完成时传递给应用程序,而不管它们的发送顺序如何。
使用 TCP,实现控制数据包的形成。你根本无法控制它。我知道的每个实现都会按顺序发送它们。如果收到的订单有问题,他们需要重新订购。
| 归档时间: |
|
| 查看次数: |
1156 次 |
| 最近记录: |