情况如下: 我有多个客户端和一个主机。指定了消息格式和大小。 假设所有客户端同时发送消息,即N消息被发送给主机。
我的问题是:主机是否收到混合消息,我的意思是主机会收到一些消息A,然后是消息B中的一些位?或者消息将全部收到?
由于
答案 0 :(得分:3)
UDP数据报始终由“终端客户端”作为整个数据报接收。也就是说,如果发送方发送10,000字节的数据报,则它将被接收为10,000字节(而不是一些小数据报的组合,最多可添加10,000字节)。数据报采用的路径(即IP)可能导致数据报在传输过程中被分段,但接收UDP / IP堆栈将在传送到应用程序之前重新组装数据报。
答案 1 :(得分:1)
当您从套接字读取数据时(例如,使用recvfrom
),从该呼叫返回的所有数据都将来自单个来源。