1
我在我的linux C++程序中观察到意外的乱序数据包接收序列。在限制了接收套接字的数量之后,它再次依次接收数据包。另外,我也用boost :: asio或epoll明确地测试了这个问题,但它们都产生了相同的结果。另一方面,同样的程序在Window环境下工作正常(使用boost.asio)。在linux下接收乱序数据包
我觉得很奇怪,我知道udp协议并不保证数据包按顺序接收。但是,广播发送者和接收者之间只有1个开关。因此,我认为,无序是不可能的。在Window OS下(在同一网络下)加上相同的程序工作正常。
假设包保证在传输层到达。额外的序列号检查不是一个选项,改变协议也不是。
所以这里的基本想法是使用一个协议,允许出货或订购交货,然后要求按订单交货吗? –