1
8
从Recv(2)手册页:
这就是发生在你身上的事情。 您应该有一个最大消息大小的缓冲区,并读取该大小。您将只读取一个数据报,并返回长度。然后,您可以从缓冲区的前面分析长度,并根据recvfrom(2)返回的内容对其进行验证。 |
2
2
另一种方法是使用msg_peek标志执行一个虚拟的recvFrom。当返回的大小与缓冲区大小(或更大)相同时,请获取更大的缓冲区,然后重试。 然后再次执行recvfrom(不带msg_peek标志)以从UDP缓冲区中删除消息。 但是,当然,这是相当低效的,当您可以决定最大包大小时不应该这样做。 |
slim71 · C-通过套接字向客户端发送UDP消息 6 年前 |
alsaleem · 执行UDP套接字。接收开始收集还是可用? 6 年前 |
ilya · 使用iperf3测量STM32板上的UDP吞吐量 6 年前 |
Ephemera · 服务器能否直接连接其连接的两个套接字? 6 年前 |
Jamboree · 跨NAT的UDP客户端无法从服务器接收数据 6 年前 |
Niranjan Godbole · 无法在c中使用udp发送数据# 7 年前 |
en Lopes · Java UDP服务器不工作 7 年前 |
Iago SP · 如何在golang中发送假udp包 7 年前 |