C++ UDP数据包的时间戳

C++ UDP数据包的时间戳,c++,c,sockets,unix,C++,C,Sockets,Unix,我正在制作一个UNIX应用程序,其中我需要对消息进行排序,我需要为所有传出的数据包加上时间戳。我可以使用time.h中定义的函数,只需将时间戳附加到数据包中,但Linux似乎已经在socket API中提供了时间戳选项。通常,给UDP数据包加时间戳的最佳方法是什么?您可以在套接字上设置的Linux特定时间戳选项与您认为的不同。简而言之,它们导致skbuff对象带有时间戳。其目的是获得数据包实际发送时间和到达时间的准确时间戳。也就是说,这些邮票是本地元数据 如果您在实际的通信协议中需要时间戳,您必

我正在制作一个UNIX应用程序,其中我需要对消息进行排序,我需要为所有传出的数据包加上时间戳。我可以使用time.h中定义的函数,只需将时间戳附加到数据包中,但Linux似乎已经在socket API中提供了时间戳选项。通常,给UDP数据包加时间戳的最佳方法是什么?

您可以在套接字上设置的Linux特定时间戳选项与您认为的不同。简而言之,它们导致
skbuff
对象带有时间戳。其目的是获得数据包实际发送时间和到达时间的准确时间戳。也就是说,这些邮票是本地元数据

如果您在实际的通信协议中需要时间戳,您必须自己将它们添加为数据包格式中的另一个字段

既然您说这是“订购邮件”,如果这是唯一的目的,那么最好不要用时间标记数据包,而是用递增的序列号标记数据包。递增序列号不仅可以建立顺序,还可以帮助检测丢失的数据包,而时间戳则不行