2010-09-07 52 views
0

我们有一个Java软件来接收和发送客户数据并将数据发送到我们的服务器。该软件在Web浏览器中运行。有时我们的代理商会抱怨这种滞后,但这与他们的网络连接有关。 这是我们的想法,建立在某种网络监视器来显示当前的网络速度。我的第一个想法是实现一个Java版本的Ping程序来测量ping之前和ping之后的时间。有了这些信息,我可以计算出连接速度。问题是Java不支持SOCK_RAW类型套接字,所以我不能发送ICMP数据包。由于安全原因,我无法创建某种UDP客户端 - 服务器连接来使用UDP套接字。由于安全原因,使用我们的客户和合同数据的服务器无法修改,因此您根本无法使用任何套接字。在我看来,用Java解决这个问题似乎并不方便。 我的同事有另一种方法。他想下载一张图片来衡量下载时间,但这不是永久测量连接速度的好方法。测量连接速度并将其显示在网络应用程序中

那么是否有任何可用的可能性来测量与Java(JSF,JSP)或Javascript(jQuery)的连接速度并将其嵌入到网站?

+0

你有没有考虑使用Flash或Flex? – Zoidberg 2010-09-07 12:10:23

+0

@Zoidberg,我们不能使用某种专有技术。 – Bevor 2010-09-07 12:45:05

+0

所以你的意思是没有人愿意支付任何技术。只是一个提示,FLEX是免费的,是开销成本的开发环境。 – Zoidberg 2010-09-07 13:08:19

回答

1

要做好网络连接的测量,您应该尝试发送尽可能多的信息,以查看所花费的时间。一张图片会很棒,但另一种方法可能是测量服务器的RTT(往返时间),以检测可能的延迟相关问题。

如果你不想自己动手编程,并没有必要与软件捆绑它,你可能会使用http://www.speedtest.net例如:-)

+0

问题是在客户端网站上必须有特殊的JavaScript之类的东西。应用程序在服务器端运行。所以越来越多的人认为这不是一个实际的解决方案。 – Bevor 2010-09-07 13:10:53

+0

我得出结论,下载一张图片来衡量kbit/s是唯一的解决方案。在这种情况下,当我点击(下载)按钮来检查速度时,网页只能显示速度。它不能连续显示。 – Bevor 2010-09-08 05:36:23

+0

我发现[这篇文章](https://www.smashingmagazine.com/2011/11/analyzing-network-characteristics-using-javascript-and-the-dom-part-1/)关于使用javascript测量往返时间。它有示例代码和解释。一探究竟。 – mert 2016-06-29 22:51:16

相关问题