我正在制作一个网络应用程序,我想显示从发送方到接收方之间传递信息所需的时间。
您认为适合实现此功能的方法是什么?
我想的是将当前的时间存储在消息上,并与接收端的时间进行比较。尽管在java上,它表示根据操作系统的不同,当前给定的时间可能有所不同。
,我应该如何获得当前的时间,以便在每个操作系统上都是相同的?(或者只是OSX和win)
p.s:在大多数情况下,应用程序只是发送消息,而不是期待返回。
发布于 2012-04-08 14:40:07
最好的方法是利用NTP (网络时间协议)服务器同步这两台机器上的时间。您还可以从应用程序中查询NTP服务器,并获得正确的时间,然后可以使用该时间进行计算。
发布于 2012-04-08 14:36:54
除非源和目标都同步到同一个时间源,否则系统时间可能会相差几秒,如果源和目标位于不同的时区,并且使用本地时间,则系统时间可能会相差几个小时。
你能做的就是测量从你发送数据包到收到回复的时间。这不是100%安全的,因为两个包可以通过两条不同的路线。
发布于 2012-04-08 14:41:39
如果接收方是请求消息的人,那么您可以记录请求发出和消息返回的确切时间。它们之间的区别在于你正在寻找的结果。
https://stackoverflow.com/questions/10063555
复制相似问题