HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2003 Tips > ネットワーク Tips メニュー

03.IPアドレスからコンピュータ名を取得する

UPDATE:2004/05/30 

<< 前のTips  次のTips >>

 


 IPアドレスからコンピュータ名を取得するには、System.Net名前空間のDnsクラスのResolveメソッドを使用します。ResolveメソッドはIPHostEntryオブジェクトを返します。IPHostEntryオブジェクトのHostNameプロパティでコンピュータ名を取得します。

コンピュータ名取得用のメソッドを作成したので載せておきます。(サンプル2)
もっとスマートなコーディングがあるかと思います。(..;)
各自で改良して、良いメソッドにしてください。

 
サンプル
/// <summary>
/// 指定したIPアドレスからコンピュータ名を取得する
/// </summary>
/// <param name="HostName">コンピュータ名を取得するIPアドレス</param>
/// <returns>コンピュータ名(文字列)</returns>
private string GetHostNameFromIP(string IPAddress)
{

    IPHostEntry IPHstEnt;
    string strServer;

    try
    {
        // 指定したIPアドレスでIPHostEntryインスタンスを作成
        IPHstEnt = Dns.Resolve(IPAddress);
        strServer = IPHstEnt.HostName;
    }
    catch ( System.Net.Sockets.SocketException SockEx )
    {
        // HostNameを解決出来ない場合の例外処理を記述
        strServer = "";
    }
    catch ( System.Security.SecurityException SecuEx )
    {
        // アクセスするためのアクセス許可がなかった場合の例外処理を記述
        strServer = "";
    }

    return strServer;

}

//使用方法は下記の通りです。
private void button1_Click(object sender, System.EventArgs e)
{

    string strServer;

    // コンピュータ名を取得したいIPアドレスを引数にセット
    strServer = GetHostNameFromIP("216.109.118.74");

    // 取得したコンピュータ名を表示
    MessageBox.Show("このPCのIPアドレスは [" + strServer + "] です。");

}