HIRO's.NET

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

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

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

HIRO's.NET RSSHIRO's.NET RSS


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

HOME > VB.NET 2003 Tips > ネットワーク Tips メニュー

02.指定コンピュータのIPアドレスを取得する

UPDATE:2004/05/30 

<< 前のTips  次のTips >>

 


 指定コンピュータのIPアドレスを取得するには、System.Net.Dns名前空間のGetHostByNameメソッドを使用します。 GetHostByNameメソッドはIPHostEntryオブジェクトを返します。IPHostEntryオブジェクトはIPアドレスのリストを保持しています。これは、ルータやゲートウェイ等2つ以上のIPアドレスを持っているものに対応するためです。ルータやゲートウェイでなくコンピュータのIP アドレスを取得する場合は要素番号「0」を指定します。

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

 
サンプル1
Imports System.Net '追加
:
:省略
:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    '変数を宣言
    Dim strHost As String
    Dim IPHstEnt As IPHostEntry
    Dim IPAddrs As IPAddress

    'コンピュータ名を指定してIPアドレスリストを取得
    '"HOST_NAME"を必要に応じて変更してください
    IPHstEnt = Dns.GetHostByName("HOST_NAME")

    'IPリストの0番目を取得
    '0番目はコンピュータのIPアドレス
    IPAddrs = IPHstEnt.AddressList(0)

    '取得したコンピュータのIPアドレスを表示
    MessageBox.Show("このPCのIPアドレスは [" & IPAddrs.ToString() & "] です。")

End Sub


 
サンプル2
 '==========================================================================
'=
'= METHOD NAME: GetIPAddress
'=
'= ARGUMENT:
'= HOSTNAME As String : IPアドレスを取得するホスト名またはURL
'=
'= RETURN VALUE:
'= IPアドレス(文字列)
'==========================================================================
Private Function GetIPAddress(ByVal HostName As String) As String

    '変数を宣言
    Dim IPHstEnt As IPHostEntry
    Dim IPAddrs As IPAddress

    Try

        'コンピュータ名を指定してIPアドレスリストを取得
        IPHstEnt = System.Net.Dns.GetHostByName(HostName)

        'IPリストの0番目を取得
        '0番目はコンピュータのIPアドレス
        IPAddrs = IPHstEnt.AddressList(0)

        Catch SockEx As System.Net.Sockets.SocketException
            'HostNameを解決出来ない場合の例外処理を記述

        Catch SecuEx As System.Security.SecurityException
            'アクセスするためのアクセス許可がなかった場合の例外処理を記述

    End Try

    Return IPAddrs.ToString()

End Function

'使用方法は下記の通りです
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim strIPAddrs As String

    'GetIPAddressの引数にIPアドレスを取得したいホスト名
    'またはURLを渡す
    strIPAddrs = GetIPAddress("www.google.com")

    '取得したIPアドレスを表示
    MessageBox.Show("このPCのIPアドレスは [" & strIPAddrs & "] です。") 

End Sub