UDP - 是否可以在一次接收呼叫中接收多条消息?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDP - 是否可以在一次接收呼叫中接收多条消息?相关的知识,希望对你有一定的参考价值。
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.如果可以在一个接收呼叫中接收多个消息,我如何确保我的代码单独处理这两个消息?
我一直在想这个,但无法提出任何解决方案。
我的第一个想法是,我会在发送调用的开头添加一个字节,说明消息的长度。
我不相信这是可靠的,因为如果接收器缓冲区中有太多数据,那么开头(消息长度)可能被切断,因此我的程序将失败。
谢谢你的帮助!
答案
经过大量研究后,我找到了一个问题的答案。
一个recvfrom呼叫将只接收一个sendto呼叫。
资料来源:
以上是关于UDP - 是否可以在一次接收呼叫中接收多条消息?的主要内容,如果未能解决你的问题,请参考以下文章