如何检查网络上的计算机是否在线?

我想知道如何使用C#检查网络上的机器是否在线。

我网络上的所有计算机都使用相同的操作系统(Windows 7),并且我在所有计算机上以相同的用户身份登录。

我的目标是检查它们是活动的还是打开的。

简单:

 Ping ping = new Ping(); PingReply pingReply = ping.Send("ip address here"); if(pingReply.Status == IPStatus.Success) { //Machine is alive } 

如果不在目标机器上安装某些自定义软件,您可能希望的最好方法是使用Ping类。

快速而脏的实现可能如下所示:

 var p = new Ping(); if(p.Send("HostNameOrIP").Status != Success) return; 

如果您对“活动和打开”计算机有什么特定要求,并且只能在本地检测到状态,则需要编写将公开WCF服务的Windows服务。 此服务将在目标计算机上运行,​​并在源计算机请求时报告本地状态。