因为组播数据包通常是基于udp的,所以它是不可靠的
在localhost上我会假设一个数据包只是从一个进程的缓冲区复制到另一个进程的缓冲区,因此它会在发送方传输时按顺序排队,对吗?
我不确定的是:
谢谢
答案 0 :(得分:1)
我可以假设一般在localhost上进行多播(或udp)的正确套餐顺序吗?如果没有,为什么?
不,因为数据包没有编目。另外,正如您可能已经知道的那样,无法保证环回连接能够保持UDP顺序。
不同的操作系统处理(win,mac,linux)有哪些具体差异?
协议没有差异(参见RFC),但细节很可能依赖于平台(和版本),我确信没有人知道它们(有些是关闭的)无论如何来源)。这是为什么有可能无法保证有序性的另一个原因。即使你测试了这个并且数据包按顺序排列,依赖于环回连接中UDP数据包的顺序也是一个非常糟糕的想法(tm)。
同样:UDP“不可靠”的论点,如果是真的,可能会产生误导。许多安全意识的软件通过UDP工作,一般来说,只有一小部分数据包被丢弃。如果使用适当的意外情况,如果使用UDP(为了性能,可以说)和数据包丢失,一个软件不应该爆炸。但如果你担心它,为什么不使用TCP?