× Aktuálně z oboru

Vychází Game Ready ovladače pro Far Cry 5 [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]
Celá zprávička [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]

How to - Informácie o sieťovkách lokálneho počítača pomocou .NET Frameworku

[ http://programujte.com/profil/2422-tomas-bosak/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/3250-jakub-vatrt/ ]Google [ ?rel=author ]       13. 11. 2006       11 572×


.NET framework 2.0 obsahuje rýchly a jednoduchý spôsob ako získať základné informácie o sieťovkách na lokálnom počítači.

System.Net.NetworkInformation namespace

Oblasť mien System.Net.NetworkInformation [ http://msdn2.microsoft.com/en-us/library/system.net.networkinformation.aspx ] ponúka množstvo tried, ktoré sú primárne určené napr. na poskytovanie prístupu do sietí, premávku dát a informácie o sieťových adresách. Táto oblasť mien taktiež obsahuje triedy určené na pingovanie, pomocou ktorého je možné zistiť prístupnosť naprieč sieťou. Spomedzi tejto širokej škály nás budú najviac zaujímať triedy NetworkInterface a IPGlobalProperties.

NetworkInterface class

Trieda NetworkInterface [ http://msdn2.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.aspx ] zapúzdruje dáta pre sieťové rozhrania známe aj ako adaptéry na lokálnom počítači. Inštancia tejto triedy sa nevytvára. Namiesto toho sa používa metóda GetAllNetworkInterfaces [ http://msdn2.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getallnetworkinterfaces.aspx ], ktorá vracia pole obsahujúce jednu inštanciu tejto triedy pre každé jedno sieťové rozhranie nachádzajúce sa na lokálnom počítači.

IPGlobalProperties class

Trieda IPGlobalProperties [ http://msdn2.microsoft.com/en-us/library/system.net.networkinformation.ipglobalproperties.aspx ] poskytuje konfiguračné a štatistické informácie o sieťových rozhraniach a sieťovej pripojiteľnosti lokálneho počítača. Z dokumentácie je vidno, že obsahuje len zopár verejných vlastností (public properties), ale väčšie množstvo verejných metód (public methods) so širším uplatnením. Z týchto členov je pre nás dôležitá metóda GetIPGlobalProperties [ http://msdn2.microsoft.com/en-us/library/system.net.networkinformation.ipglobalproperties.getipglobalproperties.aspx ], ktorá vracia objekt IPGlobalProperties.

Realizácia

Zdrojový kód, ktorý má realizovať naše požiadavky je celkom jednoduchý. Prvá vec,
ktorú treba spraviť je vytvorenie objektov vyššie spomínaných tried NetworkInterface a IPGlobalProperties.
Následne ako je vidno z dokumentácie je možné jednoducho pristupovať k vlastnostiam jednej alebo druhej triedy. Výpis informácii o jednotlivých sieťovkách je robený pomocou cyklu foreach, ktorý vypíše požadované dáta konkrétnej sieťovky postupne z poľa objektov typu NetworkInterface, ktoré je uvedené na začiatku zdrojáku. Nižšie uvedený ukážkový kód možno nájsť na MSDN a je veľmi ľahko modifikovateľný podľa potrieb programátora.

NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();	
IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
    
Console.WriteLine("Interface information for {0}.{1}     ", computerProperties.HostName, computerProperties.DomainName);    
Console.WriteLine("  Number of interfaces .................... : {0}", nics.Length);

foreach(NetworkInterface adapter in nics)
{
    IPInterfaceProperties properties = adapter.GetIPProperties();
    Console.WriteLine();
    Console.WriteLine(adapter.Description);
    Console.WriteLine("==================================================================");
    Console.WriteLine("  Interface type .......................... : {0}", adapter.NetworkInterfaceType);
    Console.WriteLine("  Physical Address ........................ : {0}", adapter.GetPhysicalAddress().ToString());
    Console.WriteLine("  Operational status ...................... : {0}", adapter.OperationalStatus);
    Console.WriteLine("  Speed ................................... : {0} bps", adapter.Speed);
}

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006110903-how-to-informacie-o-sietovkach-lokalneho-pocitaca-pomocou-net-frameworku/ ].