如何通过浏览器确定远程服务器的等待时间 [英] How to determine latency of a remote server through the browser

查看:319
本文介绍了如何通过浏览器确定远程服务器的等待时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我跑了几个游戏隧道服务器,并希望有一个页面,客户端可以在所有服务器上运行ping,并找出哪些是最敏感的。至于我可以看到似乎有在JavaScript中做到这一点没有适当的方式,但我在想,没有任何人知道的方式闪光灯或其他一些客户端的浏览器技术,也许这样做呢?

I run a couple of game tunnelling servers and would like to have a page where the client can run a ping on all the servers and find out which is the most responsive. As far as I can see there seems to be no proper way to do this in JavaScript, but I was thinking, does anybody know of a way to do this in flash or some other client browser technology maybe?

推荐答案

大多数小应用程序的技术,包括JavaScript,强制执行同源策略。有可能动态地添加DOM元素,例如图像,并收集用onload事件处理程序的定时信息。

Most applet technology, including Javascript, enforces a same-origin policy. It may be possible to dynamically add DOM elements, such as images, and collect timing information using the onload event handler.

Psuedo- code

Psuedo-code

for (server in servers) {
  var img = document.createElement('IMG');
  server.startTime = getCurrentTimeInMS();
  img.onload=function() { server.endTime = getcurrentTimeInMS(); }
  img.src = server.imgUrl;
}

然后等待一个合适的时间和检查的时间为每个服务器对象。根据需要和计算平均数,如果你想重复。我不知道你能期待什么样的精度。

Then wait an appropriate time and check the timing for each server object. Repeat as needed and compute averages if you want. I'm not sure what kind of accuracy you can expect.

缺点:


  • 您可能正在使用错误的工作工具。浏览器不具备这种类型的应用程序。

  • 这可能是相当不准确。

  • 如果您请求的资源被缓存它不会给你你想要的结果,但可以解决,通过每次更改URL。

  • 这是带宽密集型相比正常平。使图像微小的,如一个spacer.gif的文件。

  • 的定时不仅取决于远程服务器的等待时间,但该服务器的带宽。这可能是一个或多或少有用的措施,但要注意,它不是单纯的等待时间是很重要的。

  • 您需要能够从不同的服务器服务于HTTP请求和关键的是,每个服务器应该服务于相同的资源(或相同长度的资源)。在服务器上的条件可以影响响应时间,例如,如果一台服务器为com pressing的数据,另一个是不

这篇关于如何通过浏览器确定远程服务器的等待时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆