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アドレスの場合、別のアプローチが必要です。 break
クラスを使用して、リモートサービスに接続し、そのサービスで報告されているように外部IPを取得できます。
このメソッドは、リモートサーバーに依存して、応答ヘッダー内の外部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>
メソッドはオプションですが、その精度を慎重に考慮する必要があります。
以上がC#アプリケーションを実行しているホストのIPアドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。