【发布时间】:2015-02-16 19:13:23
【问题描述】:
在 Java 中,我通过这种方式获取时间戳:
Date date= new java.util.Date();
return (new Timestamp(date.getTime())).toString();
输出例如:
Start - 2015-02-16 13:59:41.427
然后我将一个数据包写入一个套接字。
但是,在 Wireshark 中,第一个数据包的日期如下:
62 2015-02-16 13:59:41.421115000 ...
什么???
好的,我不希望有人告诉我时间戳已关闭。有没有办法更改 Java 代码以使其生成更符合 Wireshark 的时间戳?
谢谢
编辑:请求代码
System.err.println("Start - "+currentTimestamp());
int sent = socketChannelOut.write(data);
【问题讨论】:
-
在写入套接字之前,你会带时间戳吗?
-
已知 Wireshark 会监听一些 NTP 正在进行吗?
-
@Zhedar 是的。它在java中打时间戳的顺序,发送数据包,然后在wireshark中打时间戳。
-
@Zhedar 我预计在写入套接字之后,在数据包出现在 Wireshark 之前会有一点延迟。
-
我认为您所看到的完全正常。将数据包下推到网络堆栈需要时间。您所看到的只是发送数据包与在 java 中请求系统时间之间的时间差。
标签: java performance optimization time wireshark