接收未知数量的UDP消息

时间:2013-04-30 06:29:22

标签: python python-2.7 network-programming udp sliding-window

假设源A使用UDP向我发送未知数量的消息。我如何拦截所有这些消息?这是完整的场景:

  • 发送7条消息
  • 等待他们的确认
  • 处理确认
  • 发送另一批
  • REPEAT ...

问题:(1)我不知道有多少消息到来,有些可能会丢失而有些消息会被重复,以及(2)我可能会在以后做其他事情,所以我不能永远等待。

2 个答案:

答案 0 :(得分:0)

这可能会对您有所帮助:http://wiki.python.org/moin/UdpCommunication 好像你可以以一种非常简单的方式发送消息。当然,你必须构建整个7条消息,然后围绕它重新启动逻辑。

答案 1 :(得分:0)

你可以让一个消息循环不断地监听和处理收到的数据包并将它们放在队列中,然后在闲暇时阅读它们......

然而,您需要实现自己的ACK,同时考虑到丢失和重复的可能性(如果您的应用程序关注它们)。这引出了一个问题 - 为什么不使用TCP?