Обнаружение службы с использованием dns-sd
У меня есть устройство, которое настроено в режиме станции. Устройство подключено к смартфону через точку доступа, предоставляемую смартфоном. Устройство должно искать сервис, опубликованный приложением на смартфоне, скажем _abc._tcp.
Я использую команду dns-sd -B _abc._tcp
но нет выхода. Пожалуйста, объясните мне, чего мне не хватает.
Приложение публикует сервис. Я проверил это с помощью приложения Bonjour на Android.
Также уточните пожалуйста
- Можно ли обнаружить услуги в режиме станции.
- При поиске сервисов необходимо указывать полное название сервиса. Если нет, то как мы можем обнаружить все услуги, опубликованные на смартфоне
- Могут ли настройки брандмауэра на устройстве повлиять на обнаружение службы?
- Как мы можем добиться того же в C++. Любые библиотеки, которые могут помочь в обнаружении.
Спасибо заранее.
2 ответа
Можно ли обнаружить услуги в режиме станции.
При поиске сервисов необходимо указывать полное название сервиса.
да
Если нет, то как мы можем обнаружить все услуги, опубликованные на смартфоне
Обнаружение службы предназначено для использования при обнаружении серьезной угрозы, например, принтера или веб-страницы. Одно из решений, которое вы можете использовать, - найти все службы и выполнить запросы для каждого экземпляра службы. Каждый экземпляр имеет имя и IP-адрес, который можно сравнить с IP-адресом телефона. Ну, это довольно уродливо, я думаю.
Могут ли настройки брандмауэра на устройстве повлиять на обнаружение службы?
да
Как мы можем добиться того же в C++. Любые библиотеки, которые могут помочь в обнаружении.
Практически на всех языках есть библиотеки... ищите поиск службы C++ в вашей любимой поисковой системе, и вы найдете множество (или другую ветку со ссылками на одну или несколько)
Codewing уже предоставил ответы.
Добавить к ответам выше.
Can firewall settings on device affect for service discovery?
Да. Также обнаружение службы может происходить на нескольких интерфейсах (wlan0, eth0...). Эти интерфейсы также влияют на обнаружение службы. Чтобы проверить этот файл конфигурации DNS можно проверить. В моем случае интерфейс WLAN был отключен в файле конфигурации, поэтому я не смог обнаружить службы.