首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 獲取遠端電腦 IP 位址的實作方法

     編輯:關於C#

在 C# 開發中,經常需要解析遠端主機名稱以取得其 IP 位址。.NET Framework 提供了 System.Net.Dns 類別,讓我們能輕鬆完成這項任務。其中最常用的方法是 GetHostAddresses(),它能根據主機名稱或 IP 字串回傳對應的 IP 位址陣列。

核心程式碼範例

以下示範如何在按鈕點擊事件中,透過主機名稱 "HB" 取得其第一個 IP 位址並顯示:

private void button1_Click(object sender, EventArgs e)
{
    IPAddress[] ipAddresses = Dns.GetHostAddresses("HB");
    if (ipAddresses.Length > 0)
    {
        MessageBox.Show(ipAddresses[0].ToString());
    }
    else
    {
        MessageBox.Show("無法解析該主機名稱。");
    }
}

關鍵點說明

  • Dns.GetHostAddresses(string hostNameOrAddress):靜態方法,參數可為主機名稱(如 "HB")或 IP 字串。回傳 IPAddress[] 陣列,包含所有解析到的 IPv4 與 IPv6 位址。
  • 異步版本:若不想阻塞 UI 執行緒,可改用 BeginGetHostAddresses / EndGetHostAddresses 配對進行非同步解析。
  • 例外處理:當 DNS 解析失敗(如主機名稱不存在、網路不可達)時,會拋出 SocketException,建議以 try-catch 包裹。

進階應用

若需取得本機所有 IP,可搭配 Dns.GetHostName() 先取得本機主機名,再呼叫 GetHostAddresses。此外,Dns.GetHostEntry 可取得更完整的 IPHostEntry 物件,包含主機名稱、別名清單及位址清單,適合需要更多資訊的場景。

掌握 System.Net.Dns 的基本用法,能幫助你快速實作網路掃描、遠端連線前的位址解析等常見需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved