我正在UDP上设计一个应用层协议。其中一个要求是接收方应该只保留最新的数据报。
因此,如果发送数据报A然后发送数据报B,但是首先收到数据报B,则应用程序在收到数据报时应该丢弃数据报A.
实现此目的的一种方法是存储在UDP数据包的数据部分中的计数器。每次发送数据报时,计数器都会递增。
我还注意到IP选项包含一个适合此任务的时间戳选项。
我的问题是(在类似BSD的套接字的上下文中):
答案 0 :(得分:0)
您可以使用setsockopt()使用选项级别IPPROTO_IP并指定选项的名称来设置IP选项。请参阅Unix / Linux IP文档,例如,请参阅here。读取IP标头选项通常需要使用RAW套接字,而RAW套接字通常需要root权限。 (尝试)使用IP选项是不可取的,因为它可能并不总是受支持,因为它很少使用(在原始系统或它通过的系统)。