我即将开发网络测量工具。目标是创建一个工具,它可以测量客户端和服务器计算机之间(从客户端)的响应时间。它是主应用程序的侧面应用程序 - 如果主应用程序遇到服务器的响应时间超过某个阈值,该工具将被激活,并执行网络连接测试,以确定客户端服务器连接是否稳定(由于网络无线等,它可能不稳定。)
我需要执行的测试不仅仅是ping操作,还包括传输不同大小的包。
但是我对通信技术的经验很少。
ICMP协议是否可行?如果是,是否可以发送不同大小的包(以测量网络是否能够在合理的时间内传输例如2 MB的数据)?
我有第二个问题。关于防火墙,我应该注意什么?开发一个在我的本地网络上运行良好的应用程序会很遗憾,但是一旦在现实生活中使用它,它就会失败,因为测试被防火墙阻止了。
我希望我的问题不是太苛刻,但要知道任何帮助都非常感激。
一切顺利
/鹭
答案 0 :(得分:0)
要清除防火墙,您应该使用您使用的相同协议和端口进行测试,并在应用程序内部创建一种新类型的消息,应在服务器读取后立即响应:您应该计划您的ping措施。
然后,客户端将测量旅行中所花费的时间并计算您的ping并将其转发回您的服务器。如果某些ISP提供ICMP协议数据包比其QoS服务器上的其他数据包具有巨大优势,人工创建(伪造)更低的延迟,这也可以提供更好的读数。而且,您不必担心防火墙不允许您的ICMP数据包,因为您必须被允许在您使用的标准端口上进行连接。
此外,大多数游戏以这种方式工作(半条命,帝国时代等),而不是通过发送标准Ping数据包。