了解服務器的 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中文網其他相關文章!