C# 中的 Ping 和 WebClient 类 有什么区别

What is the difference between the Ping and WebClient classes in C#

我正在寻找检查和报告网络服务状态的方法,并遇到了这两个 类。使用其中一个比另一个有什么好处吗?

Ping 告诉你一台机器是否可以访问。

WebClient 允许您发出 HTTP(网络)请求。

您几乎肯定想要后者。或者考虑 HttpClient - https://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.118).aspx .

您可能会发现 也很有用。

Ping 向目标机器发送 ICMP 回应请求。许多机器不会响应这些请求,因为防火墙。因此,这是检查机器是否 运行 的不可靠方法,更不用说 运行 您有兴趣连接的服务了。

检查服务是否 运行 的最佳方法是尝试按照服务提供商希望您使用它的方式使用它(无需任何类型的预检查)。如果它不起作用,那么您可以放心地说服务已关闭。