Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java获得绝对时间? 我想测量当我将HTTP请求从Serv1发送到Serv2时花费了多长时间,我需要考虑的是,Serv1和Serv2不在同一个主机上,而且时间不一致,我的计划如下:_Java_Http_Time_System - Fatal编程技术网

如何使用java获得绝对时间? 我想测量当我将HTTP请求从Serv1发送到Serv2时花费了多长时间,我需要考虑的是,Serv1和Serv2不在同一个主机上,而且时间不一致,我的计划如下:

如何使用java获得绝对时间? 我想测量当我将HTTP请求从Serv1发送到Serv2时花费了多长时间,我需要考虑的是,Serv1和Serv2不在同一个主机上,而且时间不一致,我的计划如下:,java,http,time,system,Java,Http,Time,System,在http请求post到server2之前,我需要发布一个名为startTime的参数,其值为: long startTime = System.currentTimeMillis(); 当server2收到来自server1的请求时,另一个变量名endTime: long endTime = System.currentTimeMillis(); 结果是: long result = endTime - startTime; 如果服务器1和服务器2的时间不一致,结果就没有意义了,所以我

在http请求post到server2之前,我需要发布一个名为
startTime
的参数,其值为:

 long startTime = System.currentTimeMillis();
当server2收到来自server1的请求时,另一个变量名
endTime

long endTime = System.currentTimeMillis();
结果是:

long result = endTime - startTime;

如果服务器1和服务器2的时间不一致,结果就没有意义了,所以我需要知道如何获取开始时间和结束时间的绝对时间,您能帮我吗?

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

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


如果您的主机是linux机器,则可以使用ntpdate更新系统时间。如果你想保持冷静,你还可以在你的应用程序中集成一个Java NTP客户端(即使只需将主机定时与ntpdate同步会更容易)。可以在这里找到NTP java客户端

我建议使用工具来测量延迟时间。这个Q/A可能会引导你解决这个问题:为什么我看不到你的url的源代码?点击底部的附件:)不客气。我真的建议你从操作系统本身使用NTP同步你的主机,这样更容易、更安全。如果您在需要精确计时的专业环境中使用它们(例如电子商务)。如果你觉得我的答案有用,请接受或投票:)