आप देख रहे हैं जानकारी है कि कमांड लाइन उपयोगिता, ipconfig, प्रदान कर सकते हैं की तरह के लिए, तो आप शायद System.Net.NetworkInformation नाम स्थान का उपयोग कर किया जाना चाहिए।
यह नमूना कोड सभी नेटवर्क इंटरफेस का आकलन करेगा और प्रत्येक एडाप्टर के लिए ज्ञात पते को डंप करेगा।
using System;
using System.Net;
using System.Net.NetworkInformation;
class Program
{
static void Main(string[] args)
{
foreach (NetworkInterface netif in NetworkInterface.GetAllNetworkInterfaces())
{
Console.WriteLine("Network Interface: {0}", netif.Name);
IPInterfaceProperties properties = netif.GetIPProperties();
foreach (IPAddress dns in properties.DnsAddresses)
Console.WriteLine("\tDNS: {0}", dns);
foreach (IPAddressInformation anycast in properties.AnycastAddresses)
Console.WriteLine("\tAnyCast: {0}", anycast.Address);
foreach (IPAddressInformation multicast in properties.MulticastAddresses)
Console.WriteLine("\tMultiCast: {0}", multicast.Address);
foreach (IPAddressInformation unicast in properties.UnicastAddresses)
Console.WriteLine("\tUniCast: {0}", unicast.Address);
}
}
}
शायद आप यूनिकास्ट एड्रेस में सबसे अधिक रुचि रखते हैं।
आपके द्वारा वापस आने वाले सरणी में कौन सा आईपी पता सही है? – EBGreen
GetHostByName बहिष्कृत के रूप में दिखा रहा है। घायल होकर उपयोग करें: आईपीएड्रेस [] ipAddress = Dns.GetHostAddresses (strHostName); एक ही चीज़ को पूरा करता है। –
इसके अलावा, इस बिंदु पर हंगेरियन नोटेशन लगभग मर चुका है। स्ट्रिंग होस्टनाम का प्रयोग करें। –