首页 > 后端开发 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板