在安静的线路上使用UDP

时间:2014-08-14 12:57:28

标签: network-programming udp

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

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

1 个答案:

答案 0 :(得分:1)

丢弃UDP消息的原因有很多 - 从设备中的坏硬件到软件缺陷。

  

即该线路上没有其他流量,但数据包必须   到达另一边。

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

你可以做一件容易而且有点hacky的事情:

  • 发件人尽可能快地开始发送 - 您使用UDP
  • 一遍又一遍地定义相同的消息
  • 接收方回复每条消息都带有ACK"好了,已经足够垃圾邮件"
  • 当发件人收到ACK时,它会停止