Red de conocimiento informático - Computadora portátil - c# Obtener el número de dispositivos conectados a la computadora

c# Obtener el número de dispositivos conectados a la computadora

Como se muestra en la imagen, obtenga automáticamente las IP de todos los dispositivos conectados a la computadora actual

Por ejemplo, la IP de la computadora es 10.0.0.200

La La IP del dispositivo 1 conectado es 192.168.31.125

La IP del dispositivo 2 conectado es 10.0.0.100

La IP del dispositivo 3 conectado es 10.0.0.223

Número de puerto conexiones:

pública estática int PortTcpConnection(int puerto)

{

IPGlobalProperties propertyti = IPGlobalProperties.GetIPGlobalProperties();var tcps = propertyti.GetActiveTcpConnections(). ToList();var list = tcps.Where (f => f.LocalEndPoint.Port == puerto);var iplist = list.GroupBy(f => f.RemoteEndPoint.Address);return iplist.Count();

}

Número de conexiones a sitios web:

Lista pública ListSite()

{

Lista< WebSite> lista = nueva Lista() ;usando (ServerManager sm = nuevo ServerManager())

{foreach (var s en sm.Sites)

{

Sitio web = nuevo sitio web() ;

sitio.ID = s.Id;

sitio.SiteName = s.Nombre;

sitio .ApplicationPoolName = s.Applications["/"] .ApplicationPoolName;

site.PhysicalPath = s.Applications["/"].VirtualDirectories["/"].PhysicalPath;

site.State = s.State.ToString() ;//System.Management.ManagementObject o = new ManagementObject("Win32_PerfFormattedData_W3SVC_WebService.Name='" + s.Name + "'"); site.CurrentConnections = int.Parse(o.Properties ["CurrentConnections"].Value.ToString());Esto es demasiado lento int tcps = 0;foreach (var tmp en s.Bindings)

{

WebSite.Bind bind = nuevo WebSite.Bind();

bind.IP = tmp.EndPoint.Address.ToString();

bind.Port = tmp.EndPoint.Port;

bind.Host = tmp.Host;

tcps += Util.SystemInfo.PortTcpConnec

tion(bind.Port);

site.BindList.Add(bind);

}

site.CurrentConnections = tcps;//lista de conexiones actuales .Agregar(sitio);

}

}lista de retorno;

}