使用C#监控192.168.1.100的网段是否掉线
时间: 2024-11-24 10:43:04 浏览: 1
在C#中,要监控特定IP地址(如192.168.1.100)所在的网络是否断开连接,通常需要使用ping命令或者第三方库。Ping命令可以直接在系统底层发送ICMP Echo Request报文,然后检查响应的时间来判断网络连通性。
以下是使用.NET Framework的`System.Diagnostics.NetworkInformation`类的一个简单示例,它提供了一种检测网络可达性的方法:
```csharp
using System;
using System.Net.NetworkInformation;
public class NetworkMonitor
{
public bool IsOnline(string ipAddress)
{
try
{
IPHostEntry hostEntry = Dns.GetHostEntry(ipAddress);
foreach (IPAddress address in hostEntry.AddressList)
{
Ping pingSender = new Ping();
PingReply reply = pingSender.Send(address);
if (reply.Status == IPStatus.Success) return true; // 如果有响应,则认为在线
}
}
catch (Exception e)
{
Console.WriteLine("Error checking network connection: " + e.Message);
}
return false; // 没有成功响应则认为离线
}
}
// 使用示例
NetworkMonitor monitor = new NetworkMonitor();
bool isOnline = monitor.IsOnline("192.168.1.100");
if (isOnline)
Console.WriteLine("The IP is online.");
else
Console.WriteLine("The IP is offline or unreachable.");
```
这段代码尝试获取给定IP的所有地址,并对每个地址进行ping操作。如果至少有一个地址回应了,则表示网络是可达的。
阅读全文