多个UDP消息发送到单个接收器

时间:2012-04-25 19:57:28

标签: c++ networking udp

情况如下: 我有多个客户端和一个主机。指定了消息格式和大小。 假设所有客户端同时发送消息,即N消息被发送给主机。

我的问题是:主机是否收到混合消息,我的意思是主机会收到一些消息A,然后是消息B中的一些位?或者消息将全部收到?

由于

2 个答案:

答案 0 :(得分:3)

UDP数据报始终由“终端客户端”作为整个数据报接收。也就是说,如果发送方发送10,000字节的数据报,则它将被接收为10,000字节(而不是一些小数据报的组合,最多可添加10,000字节)。数据报采用的路径(即IP)可能导致数据报在传输过程中被分段,但接收UDP / IP堆栈将在传送到应用程序之前重新组装数据报。

答案 1 :(得分:1)

当您从套接字读取数据时(例如,使用recvfrom),从该呼叫返回的所有数据都将来自单个来源。