我对EPOCH时间有疑问。
我需要计算两个数据包之间的时差。我不太确定如何:
printf("Epoch Time: %d:%d seconds\n", header->ts.tv_sec, header->ts.tv_usec);
the first packet shows: 1396191661:164162
the second packet shows: 1396191661:164193
我需要变量u_int diff_time
将包含两个数据包之间的时间差 - 以微秒为单位。
正如您所看到的,不同之处在于packet_1和packet_2-仅在微秒部分。
如果差异不仅在tv.u_sec中,我该如何计算?
先谢谢。
答案 0 :(得分:0)
假设您有两次t1.sec
,t1.usec
,t2.sec
和t2.usec
,其中t1> t2,那么我想你可以通过(t1.sec - t2.sec) * 1000000 + (t1.usec - t2.usec)
来计算差异。
答案 1 :(得分:0)
只需添加秒之间的差异:
udiff = (second.tv_sec - first.tv_sec) * 1000000 + (second.tv_usec - first.tv_usec)
您只需要检查两个数据包之间的差异是否小于〜2000秒,以保持32位int
的大小。