Когда пытаюсь через неё вызнать ip и номер стандартного порта на сервере (http, ftp ...), все проходит отлично: под снифером видно что в сеть уходит DNS запрос и приходит ответ...функция завершается успешно
A>однако достаточно поменять порт на нестандартный, к примеру:
A> char* port = "802-11-iapp";
A>функция валится не посылая не какого DNS запроса (при том что сервис на сервере в действительности есть)...
Здравствуйте, alias1, Вы писали:
A>WSATYPE_NOT_FOUND A>10109 A>Class type not found. A>The specified class was not found.
В общем версия: если отсылки на DNS нет, и возвращается такая ошибка, то:
Видимо разрешения номера порта происходит по /etc/services... Соответственно стоит попробовать внести этот сервис туда (понимаю, что это аналогично жесткому указанию номера порта, но хотя бы поможет понять там ли проблема).
И вопрос... Когда сервис стандартный, что конкретно посылается на DNS (разрешение имени в ip или все таки поиск SRV записи для данного сервиса)?
DOO>И вопрос... Когда сервис стандартный, что конкретно посылается на DNS (разрешение имени в ip или все таки поиск SRV записи для данного сервиса)?
DNS Standard Query A — т.е. первое
DOO>В общем версия: если отсылки на DNS нет, и возвращается такая ошибка, то: DOO>Видимо разрешения номера порта происходит по /etc/services... Соответственно стоит DOO>попробовать внести этот сервис туда (понимаю, что это аналогично жесткому указанию DOO>номера порта, но хотя бы поможет понять там ли проблема).
Проблема на виндах наблюдается — под линухом протестить к сожалению возможности нету — если знаешь где в винде аналог /etc/services подскажи плиз...
Но я тож к этой версии склоняюсь...такое ощущение что в вызове этой функции вместо универсального формирователя DNS SRV запросов зашита жесткая табличка портов имена которых винда знает...
2й вариант — что у меня на винде DNS не прально настроен...
Во первых полюбе спасибо что просветил о наличии такого файла...
Во вторых В файле действительно не указаны те порты которые мне нужны...
Я его соотв. подредактировал — и это только усугубило ситуацию — теперь getaddrinfo просто вываливается по экспешну Access Vialation гдето в Kernel32...
A>Я его соотв. подредактировал — и это только усугубило ситуацию — теперь getaddrinfo просто вываливается по экспешну Access Vialation гдето в Kernel32...
Теряюсь в догадках....
Re[8]: getaddrinfo()
От:
Аноним
Дата:
08.03.06 10:22
Оценка:
Здравствуйте, DOOM, Вы писали:
DOO>Здравствуйте, alias1, Вы писали:
A>>Я его соотв. подредактировал — и это только усугубило ситуацию — теперь getaddrinfo просто вываливается по экспешну Access Vialation гдето в Kernel32...
DOO>
DOO>Теряюсь в догадках....
Ставь НОМЕРА портов, нафиг тебе название сервисов?
А>Ставь НОМЕРА портов, нафиг тебе название сервисов?
Короч, вопрос звучит так:
— Можно ли через сокетные функции разрешения имен (getaddrinfo и т.п.) посылать DNS RR SRV — что требуется для соответсвия протоколу который реализую...