1

我即将开发一个网络测量工具。目标是制作一个工具,可以测量客户端和服务器机器(从客户端)之间的响应时间。它是主应用程序的副应用程序 - 如果主应用程序遇到来自服务器的响应时间超过某个阈值,则该工具将被激活,并执行网络连接测试,以确定客户端服务器连接是否稳定(它可能不稳定,由于网络是无线等)

我需要执行的测试不仅仅是 ping 操作,还要传输不同大小的包。

然而,我在通信技术方面的经验很少。

ICMP协议是要走的路吗?如果是,是否可以发送不同大小的包(以衡量网络是否能够在合理的时间内传输例如 2 MB 的数据)?

我还有第二个担心。关于防火墙,我应该注意什么?开发一个在我的本地网络上运行良好的应用程序将是一种耻辱,但是一旦它在现实生活中被使用,它就会失败,因为测试被防火墙阻止了。

我希望我的问题不是太无聊,但知道任何帮助都是非常感谢的。

一切顺利

/萨吉

4

1 回答 1

0

为了避开防火墙,您应该使用您使用的相同协议和端口进行测试,并在您的应用程序内部创建一种新类型的消息,该消息应在服务器读取后立即响应:您应该对您的 ping 进行编程措施。

然后客户端将测量旅行花费的时间并计算您的 ping 并将其转发回您的服务器。当某些 ISP 为 ICMP 协议数据包提供比其 QoS 服务器上的其他数据包更大的优势时,这也可以提供更好的读数,人为地创建(伪造)较低的延迟。而且,您不必担心防火墙不允许您的 ICMP 数据包,因为您必须被允许连接您使用的标准端口。

此外,大多数游戏都以这种方式工作(半条命、帝国时代等),而不是通过发送标准 Ping 数据包。

于 2009-12-09T16:18:25.523 回答