.NET Socket.Connect Разрешить имя хоста для IP-адреса

Я смотрю на функцию подключения к сокету .NET в каком-то коде. http://msdn.microsoft.com/en-us/library/d7ew360f.aspx Эта функция принимает в качестве аргумента строку, представляющую имя удаленного хоста.

Мой вопрос в том, как сокет получает IP-адрес этого удаленного хоста? Выполняет ли он поиск DNS или может перейти к файлу hosts Windows? (Windows XP)


person mj_    schedule 09.11.2010    source источник
comment
У меня есть для вас работа по этому сообщению stackoverflow.com/questions/3481858/ не могли бы вы связаться со мной?   -  person Tariq    schedule 12.03.2011


Ответы (1)


Использование 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().

person Pieter van Ginkel    schedule 09.11.2010
comment
Который, кстати, сначала проверит файл hosts, а затем попытается выполнить поиск DNS. - person Eric Petroelje; 09.11.2010