いくつかのコードで .NET ソケット接続機能を見ています。http://msdn.microsoft.com/en-us/library/d7ew360f.aspxこの関数は、リモート ホストの名前を表す文字列を引数として受け取ります。
私の質問は、ソケットはどのようにしてこのリモート ホストの IP アドレスを取得するのでしょうか? DNS ルックアップを実行しますか、それとも Windows ホスト ファイルにアクセスできますか? (WindowsXP)
いくつかのコードで .NET ソケット接続機能を見ています。http://msdn.microsoft.com/en-us/library/d7ew360f.aspxこの関数は、リモート ホストの名前を表す文字列を引数として受け取ります。
私の質問は、ソケットはどのようにしてこのリモート ホストの IP アドレスを取得するのでしょうか? DNS ルックアップを実行しますか、それとも Windows ホスト ファイルにアクセスできますか? (WindowsXP)
を使用しDns.GetHostAddresses(host);
ます。
実際のコードの一部は次のとおりです。
public void Connect(string host, int port){
// Checking parameters etc, removed.
IPAddress[] addresses = Dns.GetHostAddresses(host);
Connect(addresses,port);
}
したがって、ホスト名を持つコンストラクターは、単に IP アドレスを持つコンストラクターを呼び出します。
に関するドキュメントについては、 http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspxを参照してくださいDns.GetHostAddresses()
。