如何从recvfrom()检查消息大小

How do I check the message size from recvfrom()?

本文关键字:检查 消息 recvfrom      更新时间:2023-10-16

我如何检查从recvfrom()的消息是正确的大小在C或c++上的windows?

谢谢。

recvfrom返回实际接收到的数据报中的字节数。

你所需要的是

if (iResult < 0) { /* network error */ }
if (iResult != BufLen) { /* wrong size */ }

旧答案,离题

您应该声明一个变量来保存大小,并将其地址作为fromlen参数传递。

recvfrom将填充数据报的实际大小发送者的地址(IP和端口,所以你可以发送一个回复,如果你想要)。

然后您可以测试实际大小与您期望的。