了解服务器的 IP 地址对于许多服务器端应用程序至关重要。 C# 提供了使用 Dns
类和外部 Web 服务获取此信息的便捷方法。
这是获取本地IP地址的代码示例:
<code class="language-csharp">IPHostEntry host; string localIP = "?"; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily == AddressFamily.InterNetwork) { localIP = ip.ToString(); break; } } return localIP;</code>
此代码片段使用 Dns.GetHostName()
检索主机名,然后迭代关联的 IP 地址。它专门选择 IPv4 地址 (AddressFamily.InterNetwork
) 并返回它。
或者,获取服务器的外部 IP 地址(在 NAT 后面时有用):
<code class="language-csharp">string externalIP = ""; using (var client = new WebClient()) { externalIP = client.DownloadString("http://icanhazip.com").TrimEnd(); } return externalIP;</code>
此方法使用 icanhazip.com
Web 服务,该服务以纯文本形式返回公共 IP 地址。
这两种方法都提供了在 C# 应用程序中访问服务器 IP 地址的可靠方法。 第二种方法对于内部和外部 IP 不同的场景尤其有用,例如网络地址转换 (NAT) 后面的服务器。
以上是如何使用C#获取服务器的IP地址?的详细内容。更多信息请关注PHP中文网其他相关文章!