0

我想测量从server1向server2发布http请求需要多长时间,我需要考虑的一件事是,server1和server2不在同一个主机上,而且时间不一致,我的计划是这样的:

我需要将startTimehttp请求之前命名的参数发布到server2,值为:

 long startTime = System.currentTimeMillis();

当 server2 收到 server1 的请求时,另一个变量名endTime

long endTime = System.currentTimeMillis();

结果是:

long result = endTime - startTime;

如果server1和server2的时间不一致,结果是没有意义的,所以我需要知道如何获得startTime和endTime的绝对时间,你能帮我吗?

4

1 回答 1

0

为什么不使用 NTP 让两台主机同步?

对两台主机之间的 Internet 通信引入的延迟进行毫秒级精度评估是一项非常复杂的任务,并且您确实需要使用外部绝对参考。

如果您的主机是 linux 机器,您可以使用 ntpdate 来更新系统时间。如果您想变得更酷,您还可以在您的应用程序中集成 Java NTP 客户端(即使将主机时间与 ntpdate 同步会更容易)。一个 NTP java 客户端可以在这里找到http://support.ntp.org/bin/view/Support/JavaSntpClient

于 2013-10-06T15:30:25.277 回答