<分区>
下面示例代码中的“recvfrom()”等待直到接收到 UDP 数据包。
但是我需要检查UDP数据包是否可用。 如果没有收到数据包,则继续其他任务。 如果收到数据包,则接收数据包并解析。 我如何在 Linux c 程序中执行此操作?请帮忙!
for (;;)
{
printf("waiting on port %d\n", SERVICE_PORT);
recvlen = recvfrom(fd, buf, BUFSIZE, 0, (struct sockaddr *)&remaddr, &addrlen);
printf("received %d bytes\n", recvlen);
if (recvlen > 0) {
buf[recvlen] = 0;
printf("received message: \"%s\"\n", buf);
}
}