이 프로그램은 TCP/IP 소켓 프로그래밍 C#버전 책에서 참조한 내용입니다.

호스트 정보를 반환 하는 C# Console 프로그램입니다.
using System;
using System.Net;
using System.Net.Sockets;

class IPAddressExample {
static void PrintHostInfo(String host) {
try {
IPHostEntry hostInfo;

// 호스트 또는 주소에 대한 DNS 해석한다.
hostInfo = Dns.GetHostEntry(host);

// 호스트의 기본 호스트명을 출력한다
Console.WriteLine("\tCanonical Name : " + hostInfo.HostName);

// 이 호스트에 대한 IP 주소들을 출력한다
Console.Write("\tIP Addresses: ");
foreach (IPAddress ipaddr in hostInfo.AddressList) {
Console.Write(ipaddr.ToString() + " ");
}

Console.WriteLine();

// 이 호스트의 앨리어스들을 출력한다.
Console.Write("\tAliases: ");
foreach (String alias in hostInfo.Aliases) {
Console.Write(alias + " ");
}

Console.WriteLine("\n");
} catch (Exception) {
Console.WriteLine("\tUnable to resolve host: " + host + "\n");
}
}

static void Main(string[] args) {
// 로컬 호스트 정보를 취합하고 출력
try {
Console.WriteLine("Local Host:");
String localHostName = Dns.GetHostName();
Console.WriteLine("\tHost Name: " + localHostName);

PrintHostInfo(localHostName);
} catch (Exception) {
Console.WriteLine("Unable to resolve local host\n");
}

// 커맨드 라인에서 입력한 호스트들에 대한 정보를 취합하고 출력
foreach (String arg in args) {
Console.WriteLine(arg + ":");
PrintHostInfo(arg);
}
}
}

.NET 2.0 에서는 다음과 같다
Dns.Reslove 대신 Dns.GetHostEntry Method를 쓴다.

Dns.GetHostEntry Method (String) 
Note: This method is new in the .NET Framework version 2.0.
Resolves a host name or IP address to an IPHostEntry instance.


+ Recent posts