0

我有一个基于http://cs.baylor.edu/~donahoo/practical/CSockets/code/UDPEchoClient.c的 UDP 客户端 ,客户端发送一条消息,服务器将其回显。我有一个可配置的服务器,我可以在其中丢弃数据包,并且我正在发送多条消息,而不是上面链接的代码中的 1 条。如果超过 1 秒,如何让消息丢弃?截至目前,我在 recvfrom() 中获取每条消息后正在检查它,但我希望我的整个程序在 ~1.5 秒内运行,因为我不想为每条消息等待 1 秒(如果有很多消息)。有没有办法像计时器或其他东西一样附加到每条消息,以便如果在 1 秒内没有收到它,它会认为自己被丢弃?谢谢!

4

1 回答 1

-1

对 UDP 数据包使用 TTL

int ttl = 60; /* max = 255 */
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
于 2016-02-07T16:58:31.723 回答