我有一个基于http://cs.baylor.edu/~donahoo/practical/CSockets/code/UDPEchoClient.c的UDP客户端 客户端发送消息的位置,服务器回送它。我有一个可配置的服务器,我可以丢弃数据包,我发送多个消息,而不是在上面链接的代码中只有1。如果消息超过1秒,如何使消息丢失?到目前为止,我在recvfrom()之后检查每条消息,但是我希望我的整个程序在~1.5s以下运行,因为我不想等待每条消息1秒钟(这将需要永远,如果有很多消息)。是否有一种方法可以像定时器或其他东西一样附加到每条消息,以便在1秒钟内没有收到它时认为自己被丢弃了?谢谢!
答案 0 :(得分:-1)
对UDP数据包使用TTL
int ttl = 60; /* max = 255 */
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));