首頁 > 後端開發 > C++ > 如何有效檢索我的本地IP地址並驗證網絡連接?

如何有效檢索我的本地IP地址並驗證網絡連接?

Susan Sarandon
發布: 2025-01-24 19:46:11
原創
393 人瀏覽過

How Can I Efficiently Retrieve My Local IP Address and Verify Network Connectivity?

高效獲取本地IP地址及網絡連接狀態

獲取本地IP地址的方法有很多,一種常見方法是使用Dns.GetHostName()Dns.GetHostEntry()方法獲取主機名和IP地址列表:

<code class="language-csharp">string strHostName = string.Empty;

// 获取本地计算机的主机名
strHostName = Dns.GetHostName();
Console.WriteLine("本地计算机主机名: " + strHostName);

// 使用主机名获取IP地址列表
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;

for (int i = 0; i < addr.Length; i++)
{
    Console.WriteLine("IP Address {0}: {1}", i, addr[i].ToString());
}</code>
登入後複製

然而,如果您只想獲取路由器分配的局域網IP地址,此方法可能無法提供理想結果。此外,還必須確定您的計算機是否已連接到網絡。

獲取本地IP地址

為此,請考慮使用以下方法:

<code class="language-csharp">public static string GetLocalIPAddress()
{
    var host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (var ip in host.AddressList)
    {
        if (ip.AddressFamily == AddressFamily.InterNetwork)
        {
            return ip.ToString();
        }
    }
    throw new Exception("系统中没有具有IPv4地址的网络适配器!");
}</code>
登入後複製

此方法遍歷IP地址列表以檢索第一個IPv4地址,該地址通常是局域網IP地址。

檢查網絡連接

要確定您的計算機是否已連接到網絡,請使用以下表達式:

<code class="language-csharp">System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();</code>
登入後複製

如果存在網絡連接,此表達式返回true;否則返回false。

以上是如何有效檢索我的本地IP地址並驗證網絡連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板