mdnsresponder не показывает IP-адрес во время просмотра

Я зарегистрировал службу с помощью bonjor mdnsresponder

 dns-sd -R SMARTCAM _CAMS._tcp. . 80  "u=test" "path=/pub"

Когда я попытался изменить имя и тип, как показано ниже

dns-sd -L SMARTCAM _CAMS._tcp.

Я получил ответ как

Поиск SMARTCAM._CAMS._tcp..local 22:16:31.777 SMARTCAM._CAMS._tcp.local. доступен по адресу AIR.local.:80 (интерфейс 3) u=test path=/pub

Но здесь я не получаю IP-адрес ПК, на котором я зарегистрировал свою службу (я зарегистрировал службу на IP-адресе 192.168.1.123 и имени хоста AIR).

Как теперь получить IP-адрес ПК..? потому что я запускаю какую-то службу на этом IP, я хочу получить к ним доступ после разрешения


person Phions    schedule 05.11.2012    source источник


Ответы (1)


Попробуйте использовать $dns-sd -R и dns-sd -Q

он даст вам IP-адрес

person indra    schedule 06.11.2012
comment
Да, получение имени хоста устройства, на котором работает служба, и получение IP-адреса — это отдельные шаги. Отчасти это связано с тем, что в идеале вам не нужно получать IP-адрес, а вместо этого использовать сетевой API, где вы подключаетесь через имя хоста вместо IP-адреса, что позволяет коду быть независимым от IPv4/IPv6, обрабатывать несколько ответов и т. д. с нулевым усилие. Стюарт Чешир однажды выступил с докладом о zeroconf, где он рассказал о таких сетевых API для разных платформ, но я не могу найти его ATM. - person bames53; 19.04.2013
comment
Вот некоторая информация по теме, хотя она охватывает только OS X API; Избегайте разрешения имен DNS перед подключением к хосту - person bames53; 19.04.2013
comment
А вот выступление IETF, включающее фрагменты кода Java для API-интерфейсов Java «подключение по имени»: ietf.org/proceedings/79/slides/nbs-8.pdf Упоминается, что в Windows есть такое и API, но не показывается. - person bames53; 23.04.2013