У меня есть серверное приложение, работающее на устройстве в локальной сети, которое можно обнаружить через DNS-SD (то есть Zeroconf/Bonjour/Avahi). Клиентские устройства, также подключенные к локальной сети, подключаются к этому серверу. Я не могу контролировать, какое приложение используется для подключения к моему серверному приложению, но я знаю, что они, вероятно, используют DNS-SD и mDNS для обнаружения и подключения к серверу. Как получить локальное доменное имя, идентифицирующее эти клиентские устройства, учитывая только их IP-адрес на C или C++?Получить локальное доменное имя с IP-адреса (т. Е. Обратный поиск DNS с помощью многоадресной DNS и DNS-SD)
По RFC 6762 Multicast DNS - Section 4. Reverse Address Mapping:
«Как» Местных ", домены обратного преобразования IPv4 и IPv6 также определяются быть локальной связи ... Так как имена в рамках этой области соответствуют IPv4 локальной связи. адресов, логично, что локальная связь - лучшее место для поиска информации, относящейся к этим именам ».
Таким образом, теоретически должно быть возможно найти локальные доменные имена по IP-адресу. Кто-нибудь знает как? Возможно, я не ищу в нужных местах, но я не вижу вызова API для этого в документах Bonjour.