UDP-是否可以在一个接收呼叫中接收多个消息?

时间:2018-09-03 16:38:00

标签: udp recvfrom

1。可以在一个接听电话中接收多封邮件吗?

发件人伪代码:

target = ("xxx.xxx.xxx.xxx", 1234)
sender = new_udp_socket()
sender.send("Hello", target)
sender.send("World", target)

接收器伪代码:

receiver = new_udp_socket()
receiver.bind("", 1234)

while true
    data = receiver.recvfrom(512)
    print(data)

接收方是否有可能在一个接收呼叫中接收"HelloWorld"而不是分别"Hello""World"

有人告诉我 是可能的,但我想确定。

2。如果可以在一个接听电话中接收多条消息,如何确保我的代码分别处理两条消息?

我一直在考虑这个问题,但无法提出任何解决方案。

我的第一个想法是,我将在send调用的开头添加一个字节,说明消息的长度。

我也不认为这是可靠的,因为如果接收方缓冲区中的数据过多,则开头(消息长度)可能会被切断,因此我的程序将失败。


感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

经过大量研究,我找到了问题的答案。

一个recvfrom呼叫只会收到一个sendto呼叫。

来源: