python UDP接收器总是只收到一条消息吗?

时间:2013-12-06 04:15:59

标签: python sockets udp

关于UDP接收器。
考虑下面的示例代码,我是否必须考虑在recfrom方法中可能会收到多个UDP消息?

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", 99))
while 1:
    data, addr = s.recvfrom(1024)
    someFunction(data)

1 个答案:

答案 0 :(得分:0)

否定标题中的问题。

是的!对问题中的问题。 UDP数据包经常到达两次(并且无序)。

维基百科说:

  

UDP使用简单的传输模型,协议最少   机制。它没有握手对话,因此暴露任何   底层网络协议对用户的不可靠性   程序。由于这通常是IP不可靠的媒体,因此没有   保证交货,订购或重复保护。 UDP提供   用于数据完整性的校验和以及用于寻址的端口号   数据报源和目的地的不同功能。