我想知道如何使用C#来检查网络上的计算机是否在线。
我网络上的所有计算机都使用相同的操作系统(Windows 7),并且我在所有计算机上以相同的用户身份登录。
我的目标是检查它们是处于活动状态还是打开状态。
答案 0 :(得分:21)
简单:
Ping ping = new Ping();
PingReply pingReply = ping.Send("ip address here");
if(pingReply.Status == IPStatus.Success)
{
//Machine is alive
}
答案 1 :(得分:4)
如果不在目标计算机上安装某些自定义软件,您可能希望的最好的是use the Ping class.
快速而肮脏的实现可能如下所示:
var p = new Ping();
if(p.Send("HostNameOrIP").Status != Success) return;
如果您对“活动和打开”机器有什么特定要求,并且只能在本地检测到状态,则需要编写一个将公开WCF服务的Windows服务。此服务将在目标计算机上运行,并在源计算机请求时报告本地状态。