LINUX.ORG.RU

Аналог winapi-шной getaddrinfoex в Linux

 , ,


0

2

Здравствуйте,

Подскажите пожалуйста, есть ли в Linux’e аналог винапишной функции getaddrinfoex, которая в свою очередь является рамширением стандартной функции getaddrinfo из сокетов для запроса соответсвия URL адресса —> ip адрессу в асинхронном режиме, а не в блокирующем, как getaddrinfo ?

Ответ на: комментарий от ox55ff

Не сочтите за наглость, но я четко спрашивал про api-шную асинхронную функцию, а не то, как извращением запустить синхронную блокирующую функцию квази-асинхронным методом.

Optimus1
() автор топика
Последнее исправление: Optimus1 (всего исправлений: 1)
Ответ на: комментарий от Optimus1

В подавляющем большинстве проектов либо создается тред для резолва и там все делается, либо используется сторонняя библиотека, где это сделано внутри

annulen ★★★★★
()
Ответ на: комментарий от Optimus1

запускай в отдельном потоке, лол. чё дальше, на каждую функцию асинхронный вариант клянчить будешь?

anonymous
()

Не, нету. Можно использовать сторонние библиотеки для асинхронного ресолвинга. с-ares уже посоветовали

Harald ★★★★★
()
Ответ на: комментарий от Harald

По приколу поискал по спекам LSB, как ни странно getaddrinfo есть, а getaddrinfo_a нет

annulen ★★★★★
()
Ответ на: комментарий от Harald

С другой стороны, в LSB есть Qt, вместе с QHostInfo, так что QHostInfo::lookupHost() можно формально считать API Linux для асинхронного резолва

annulen ★★★★★
()

Ты ж не на микроконтроллере! Запусти отдельный поток, там и открывай сокет. А потом уж можешь выбирать: либо по потоку на каждого клиента, либо общий поток, в котором будешь поллить все дескрипторы. Только второй способ для высоконагруженных систем чреват необходимостью двигать все 100500 дескрипторов влево, когда очередной клиент отвалится. Потому что нет в линуксе функций поллинга связанного списка дескрипторов, есть лишь поллинг массива!

anonymous
()
Ответ на: комментарий от anonymous

Да.

Функции изначально должны быть асинхронными. Из асинхронщины сделать синхронную версию просто, а вот наоборот – вовсе нет.

Siborgium ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.