2011-11-18 162 views
0

你能帮我检查我的ack服务器和ack客户端的逻辑是否正确?客户端不断发送ack给服务器,当服务器收到ack时,它会生成一个时间戳。我发现客户端和服务器在一台机器上的测量时间与客户端和服务器在两台机器上是非常不同的。例如,在一台机器上,测量时间为几百毫秒,但在两台机器上,测量时间为几百毫微秒。我测量了每个不超过1毫秒的操作。所以我想也许ack服务器和客户端是不正确的。谢谢。Java客户端服务器代码

+0

您应该期望在远程计算机和本地计算机上获得不同的结果。然而,数百millis听起来太多 - 两台机器在哪里? – krakover

+0

在本地网络 – susan

+0

你比较两次?我在服务器的processAck中看到System.getNanotime,它设置你的“接收时间”,但是你在哪里获得(更重要的是设置)你的“发送时间”?如果它在客户端,你可能会遇到“两个钟”的问题。 – CPerkins

回答

0

我并不完全清楚你在问什么,但你是否考虑网络延迟?如果你能给我们一个你所看到的输出的例子和你期望看到的结果相比较,那将会很有帮助。

0

两个系统的RTC可能不存在。可能你正在经历这个......

即使时间自动同步延迟问题几乎总是会导致两个不同的系统稍微不同步。