如何在发送和接收套接字传输之间获得准确的经过时间?

时间:2016-07-20 00:03:08

标签: c# sockets xamarin tcp

我需要同步服务器和客户端之间的时间,我想要一个毫秒的传输时间。由于TCP协议的特性我相信有一些关于时间的内部控制和定时器收到TCP套接字,但我没有找到如何使用我的TcpSocketClient获取它。

如果你还没有发现,服务器会将他的小时(发送)发送给客户端,客户端将你的时钟与这个小时同步,我需要调整小时,增加时间,将时间从服务器发送到客户!

避免NTP使用答案,我的客户端是移动设备,我只会使用新的时间用于应用程序,我不会更改设备的时间。

1 个答案:

答案 0 :(得分:0)

您希望客户端调用服务器以返回服务器时间戳。在客户端进行呼叫之前,让客户端记录高精度时间戳。当服务器返回其时间时,计算从客户端发送时间到接收服务器响应的增量。然后,您可以从服务器时间戳中减去一半的往返时间。这将为您提供服务器时间的近似值。更频繁地重复并平衡增量以获得更高的精度。