This page is likely outdated (last edited on 23 Mar 2008). Visit the new documentation for updated content.
Howto IpInfobyDns
This sample shows how to get the local system ip information using a Dns Class.
networkDNSIP.cs
using System;
using System.Collections;
using System.Net;
public class ClsDnsIp {
//declare hostname variable to save the machine hostname
private string hostname;
//declare iparraylist variable to save the ip addresses
//this is a ArrayList Collection object
private ArrayList iparraylist;
//we define a constructor class
public ClsDnsIp()
{
//assign a string empty value
this.hostname = string.Empty;
//to create arraylist object
this.iparraylist = new ArrayList();
//call the private method to determine the hostname and ip address
this.getHostnameIpAdress();
}
//define a string property to get the hostname
public string Hostname
{
get
{
return this.hostname;
}
}
//define a Arraylist property to get a ip address list
public ArrayList IpAddress
{
get
{
return this.iparraylist;
}
}
//define the private method that to determine hostname and ip address
private void getHostnameIpAdress()
{
//call Dns's GetHostName method to get the computer hostname
this.hostname = Dns.GetHostName();
//to create IPHostEntry object that contain
//Internet host address information by Dns's GetHotsByName method
IPHostEntry iphost = Dns.GetHostByName(this.hostname);
//we use a try-catch instructions for posible runtime errors
try {
//we add every ip address founded to arraylist collection
foreach (IPAddress someip in iphost.AddressList)
this.iparraylist.Add(someip.ToString());
}
catch (Exception e){
;
}
}
}
//this class is used to test ClsDnsIp class
public class TestClsDnsIp {
public static void Main(string[] args)
{
ClsDnsIp objtest = new ClsDnsIp();
Console.WriteLine("Hostname-->" + objtest.Hostname);
for (int i = 0; i < objtest.IpAddress.Count; i++)
Console.WriteLine("Ip Adresses-->" + objtest.IpAddress[i]);
}
}
now compile with:
mcs networkDNSIP.cs
and run:
mono networkDNSIP.exe