确定 C# 应用程序中的主机 IP 地址
检索运行 C# 应用程序的主机的 IP 地址可能很棘手。 本指南阐明了该过程并提供了不同场景的代码示例。
常见方法使用 Dns
和 IPHostEntry
类:
<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; //Exit loop after finding the first IPv4 address } } return localIP;</code>
此代码循环访问主机的 IP 地址,选择第一个 IPv4 地址。 请注意添加的 break
语句以提高效率。
对于外部 IP 地址,需要采用不同的方法。 System.Net.WebRequest
类可用于连接到远程服务并检索该服务报告的外部 IP:
<code class="language-csharp">// Replace "myServer" with the actual URL of the external IP service WebRequest request = WebRequest.Create("myServer"); WebResponse response = request.GetResponse(); string externalIP = response.Headers["X-Forwarded-For"];</code>
此方法取决于远程服务器在响应标头中正确提供外部 IP。 可靠性各不相同;某些服务器可能不支持此功能或可能返回不准确的结果。
最好的方法取决于您的应用程序的需求。 对于本地 IP 地址,Dns
和 IPHostEntry
方法通常是可靠的。对于外部 IP 地址,WebRequest
方法是一种选择,但应仔细考虑其准确性。
以上是如何获取运行我的 C# 应用程序的主机的 IP 地址?的详细内容。更多信息请关注PHP中文网其他相关文章!