C# 在多台计算机上完全相同的时间

C# 在多台计算机上完全相同的时间,c#,time,ping,latency,C#,Time,Ping,Latency,我想计算服务器客户端应用程序中的一些延迟。我正在考虑测量从客户机a发送包的时间,然后是它到达服务器的时间,第三次是它到达客户机B的时间。我曾考虑使用DateTime.UtcNow,但后来意识到这需要系统时间,这在所有三台机器上肯定会有所不同。因为我的测量值只有几千纳秒,肯定不到10毫秒,因为所有的机器都在一个网络中 有没有办法在这三台机器上都有准确的时间?可能不使用外部服务器,我必须使用HTTP请求。请注意,只有15毫秒的分辨率:此属性的解析取决于系统计时器,在Windows系统上约为15毫秒。

我想计算服务器客户端应用程序中的一些延迟。我正在考虑测量从
客户机a
发送包的时间,然后是它到达
服务器的时间,第三次是它到达
客户机B
的时间。我曾考虑使用
DateTime.UtcNow
,但后来意识到这需要系统时间,这在所有三台机器上肯定会有所不同。因为我的测量值只有几千纳秒,肯定不到10毫秒,因为所有的机器都在一个网络中


有没有办法在这三台机器上都有准确的时间?可能不使用外部服务器,我必须使用HTTP请求。

请注意,只有15毫秒的分辨率:此属性的解析取决于系统计时器,在Windows系统上约为15毫秒。因此,在短时间间隔内(例如在循环中)重复调用Now属性可能会返回相同的值。“。因此,即使同步到1ms,使用datetime.now仍将切换到~15ms。再读一点。@Quantic谢谢!这很有帮助。在这种情况下,使用秒表类更有用!我想我只能可靠地计算从
客户端A
服务器
再到
客户端A
所花的时间。你在博文中引用了一句很好的话:“从开始到结束花了多少时间?”这是一个与“现在是几点?”完全不同的问题。请注意,只有15毫秒的分辨率:此属性的解析取决于系统计时器,在Windows系统上约为15毫秒。因此,在短时间间隔内(例如在循环中)重复调用Now属性可能会返回相同的值。“。因此,即使同步到1ms,使用datetime.now仍将切换到~15ms。再读一点。@Quantic谢谢!这很有帮助。在这种情况下,使用秒表类更有用!我想我只能可靠地计算从
客户端A
服务器
再到
客户端A
所花的时间。你在博文中引用了一句很好的话:“从开始到结束花了多少时间?”与“现在是几点?”是完全不同的问题