Network programming UDP在安静线路上的使用

Network programming UDP在安静线路上的使用,network-programming,udp,Network Programming,Udp,UDP丢弃数据包的原因是什么 例如,如果我有一句话说,只有一条消息必须尽快通过,那么使用UDP是有意义的。也就是说,线路上没有其他流量,但数据包必须到达另一端。丢弃UDP消息的原因有很多——从设备中的硬件故障到软件故障 也就是说,线路上没有其他流量,但数据包必须 到达另一边 没有真正简单的方法可以做到这一点。单个UDP消息将无法工作,因为它可能由于多种原因而被删除。TCP也不起作用,因为它有超时和重传等。如果你运气不好,前几段丢失,可能需要几秒钟,直到你的消息通过 有一件事你可以做得很简单,也有

UDP丢弃数据包的原因是什么


例如,如果我有一句话说,只有一条消息必须尽快通过,那么使用UDP是有意义的。也就是说,线路上没有其他流量,但数据包必须到达另一端。

丢弃UDP消息的原因有很多——从设备中的硬件故障到软件故障

也就是说,线路上没有其他流量,但数据包必须 到达另一边

没有真正简单的方法可以做到这一点。单个UDP消息将无法工作,因为它可能由于多种原因而被删除。TCP也不起作用,因为它有超时和重传等。如果你运气不好,前几段丢失,可能需要几秒钟,直到你的消息通过

有一件事你可以做得很简单,也有点骇人:

  • 发送方开始尽可能快地发送相同的消息(您定义了这一点),并使用UDP一次又一次地发送相同的消息
  • 接收者回复每封邮件时都会给出一个ACK“好了,别再发垃圾邮件了”
  • 当发送方收到ACK时,它停止

如果必须通过该消息,则应使用TCP。由于各种原因,数据包可以丢弃,只有使用TCP才能保证另一端的接收。如果由于某种原因,两端的校验和不匹配,数据包将被UDP丢弃,并且不会重新发送。也许你能在接收端真正接近任何形式的接收保证的唯一方法是,如果计算机直接与光纤电缆连接,即使如此,也有可能出现某种侥幸,导致校验和不匹配的问题。这也应该起作用……有趣的角度是,我没想到。