您如何确定Web应用程序的上/下延迟

时间:2010-05-20 05:30:48

标签: c# asp.net javascript web-applications

我正在尝试研究如何通过Web应用程序(Javascript)计算到.net webservice的请求延迟。

目前我基本上是尝试同步客户端和服务器时间,在点击网络服务时我可以查看偏移量(这将准确显示“向上”延迟。

问题是 - 当您同步时间时,您也必须考虑延迟时间。因此,目前我正在计算同步请求(往返)并除以2,以试图获得“向上”延迟...然后相应地修改同步。

这是假设延迟是对称的,而不是。有没有人知道一个程序能够专门确定JS http请求到.net服务的上/下延迟?如果它需要涉及多次握手,那就更好了,尽可能准确。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这是一个艰难的 - 或者说不可能,说实话。

你可能会做很多事情来或多或少接近你想要的东西。我可以看到两种方法来解决这个问题:

  1. 使用类似NTP的内容来同步时钟并使用绝对时间戳。这可能相当容易,但当然只有你同时控制服务器和客户端(你可能不会这样做)才有可能。
  2. 尝试做出有根据的猜测:)这就像你现在正在做的那样。也许ping可能会有任何帮助吗?
  3. 以下文章可能会提供一些额外的想法:A Stream-based Time Synchronization Technique For Networked Computer Games 主要是建议进行多次测量并丢弃“异常值”。但是,如果我理解正确的话,最后它与你当前的实现并不是那么远。

    否则,有一些学术资料可用于更理论化的方法(首先阅读一些东西,我的意思是)。这些是我找到的一些内容:Time Synchronization in Ad Hoc NetworksA clock-sampling mutual network time-synchronization algorithm for wireless ad hoc networks。或者您可以查看NTP协议。

    我还没看过那些:)