【问题标题】:Measuring network performance tool in c#在 C# 中测量网络性能工具
【发布时间】:2009-12-09 16:04:18
【问题描述】:

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

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

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

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

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

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

一切顺利

/萨吉

【问题讨论】:

    标签: c# networking measurement icmp stability


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回复。我会调查的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2010-10-03
    相关资源
    最近更新 更多