多路分解来自不同来源的udp流

时间:2018-11-25 12:22:14

标签: sockets udp

我的服务器正在使用单个udp套接字从不同的IP地址接收udp流。 (所有发件人发送到同一端口)。 当recv在服务器上返回数据时,该数据块是否可能包含来自不同来源的字节? 假设没有,是否有可靠的方法来确定哪个发件人发送了整个数据块?

1 个答案:

答案 0 :(得分:1)

在UDP中,收到的每个块都将恰好是发件人先前传递给“ send()”或“ sendto()”的内容-与TCP不同,UDP维护消息边界。

您可以通过调用“ recvfrom()”而不是“ recv()”来查找接收到的数据包发送自的IP地址和端口。这些值将被写入您提供指向的“ struct inaddr_in”中。