WebElektronika

Hálózati adatok megjelenítése C# nyelv segítségével

person access_time 2017.06.29.
Csatlakozva a nem rég indult sorozatunkhoz, megjelenítjük C# nyelv segítségével a számítógépünk néhány hálózati adatát. Kiírjuk a MAC címet, illetve még egy-két érdekesnek mondható tulajdonságot.


Indítsuk el a Visual Studio-t, majd hozzunk létre egy Console projektet (1. ábra).

kep
1. ábra   ConsoleApplication létrehozása
 

Ahhoz, hogy le tudjuk kérdezni a hálózati kártyával kapcsolatos információkat, fel kell vennünk a System.Net.NeworkInformation szerelvényt.

using System.Net.NetworkInformation;

 

A GetNetworkInformations() metódus segítségével tudjuk a különböző adatokat kiíratni a konzolablakba. Először létrehozunk egy "ni" nevű gyűjteményt a GetAllNetworkInterfaces() metódus meghívásával.

Ezután a gyűjteményt bejárjuk a foreach ciklus segítségével. A foreach ciklus "ad" változójának nem kötelező megadni a típusát, használhatjuk helyette az anonim típust is.
A gyűjtemény bejárásával végig megyünk az összes item-en, és az item-ek néhány tulajdonságát kiírjuk a WriteLine() metódus segítségével.

class Program
    {
        public static void GetNetworkInformations()
        {
            NetworkInterface[] ni = NetworkInterface.GetAllNetworkInterfaces();
            
            foreach (var ad in ni)
            {
                Console.WriteLine("Név : " + "\t\t" + ad.Name + "\n" +
                    "Leírás : " + "\t" + ad.Description + "\n" +
                    "MAC cím : " + "\t" + ad.GetPhysicalAddress() + "\n" +
                    "Id : " + "\t\t" + ad.Id + "\n" +
                    "Multicast : " + "\t" + ad.SupportsMulticast + "\n" +
                    "Típus : "+ "\t" + ad.NetworkInterfaceType);
                Console.WriteLine("\n-----------------------------------\n");
            }
        }
        
        static void Main(string[] args)
        {
            IPGlobalProperties ipgp = IPGlobalProperties.GetIPGlobalProperties();
            Console.WriteLine("Gép neve : " + ipgp.HostName);

            for (int i = 0; i < 11 + ipgp.HostName.Count(); i++)
            {
                Console.Write("*");
            }
            Console.WriteLine();

            GetNetworkInformations();

            Console.ReadLine();
        }
    }

 

A Main() metódusban kiírjuk először a számítógépünknek a nevét, amelyet (és néhány egyéb tulajdonságot) a GetIPGlobalProperties() metódus meghívásával kapunk meg.
A for ciklus segítségével annyi csillagot írunk ki a konzolablakba, amennyi a felette kiírandó szöveg. A "Gép neve : " 11 karakter, a maradék karakterek számát (amely a gép nevét tartalmazza) a Count() metódus segítségével kapjuk meg.

Futtassuk debug (F5) módban az alkalmazásunkat, és a konzolablakban megkapjuk a hálózati kártyáink néhány adatát (2. ábra).

kep
2. ábra   A futási eredmény (kattints a képre)