確定 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中文網其他相關文章!