C# 如何检查网络中的计算机是否联机?

C# 如何检查网络中的计算机是否联机?,c#,.net,C#,.net,我想知道如何只使用C#检查我网络上的机器是否在线 我网络上的所有计算机都使用相同的操作系统(Windows 7),并且我在所有计算机上以相同的用户身份登录 我的目标是检查它们是否处于活动状态或打开状态。如果不在目标计算机上安装一些自定义软件,您可能希望的最好方法是 快速而肮脏的实现可能如下所示: var p = new Ping(); if(p.Send("HostNameOrIP").Status != Success) return; 如果您对什么是“活动且打开的”计算机有非常具体的要求,

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

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


我的目标是检查它们是否处于活动状态或打开状态。

如果不在目标计算机上安装一些自定义软件,您可能希望的最好方法是

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

var p = new Ping();
if(p.Send("HostNameOrIP").Status != Success) return;
如果您对什么是“活动且打开的”计算机有非常具体的要求,并且状态只能在本地检测到,那么您将需要编写一个将公开WCF服务的windows服务。此服务将在目标计算机上运行,并在源计算机请求时报告本地状态

简单:

Ping ping = new Ping();
PingReply pingReply = ping.Send("ip address here");

if(pingReply.Status == IPStatus.Success)
{
   //Machine is alive
}

平怎么样?你如何定义“主动”、“开放”?我绝对需要使用c#code@pharaon450:您也可以从C#代码启动
ping
:-p如果机器处于开机状态,就像机器处于开机状态一样open@pharaon450有人打开电脑,然后拔下网线。有没有其他方法检查电脑是否处于活动状态?Ping服务可以在您知道的机器上禁用。@NinethSense如果Ping服务可以禁用,有什么解决方案吗?好的,您可以检查任何端口是否打开。但循环将非常耗时。