Bonjour / DNS-SD в Windows

В настоящее время я работаю над кроссплатформенным приложением (Win / OSX / iOS), которое имеет C ++ (с Boost) задний конец. В iOS и OSX я использую функции делегирования браузера службы Cocoa Net Service для обнаружения встроенного устройства через mDNS, а затем передаю информацию в серверную часть для создания объектов, которые необходимы для связи с ним.

Я хотел применить аналогичный подход к моему интерфейсу Windows MFC и нашел эту статью, которая, похоже, делала именно то, что я хочу. Однако кажется, что использование Bonjour SDK имеет некоторые действительно неприятные побочные эффекты - вынуждая вас использовать статическую ссылку на MFC, и в моем случае единственный способ заставить его правильно ссылаться - это вообще не использовать отладочные библиотеки DLL, что не идеально .

Итак, Bonjour SDK мне не подходит, потому что он накладывает слишком много ограничений на мой проект. В Cocoa я использую очень мало функциональности - на самом деле только didFindService и netServiceDidResolveAddress. Все, что я хочу сделать, это найти устройства определенного типа и получить их IP-адреса.

Может ли кто-нибудь предложить другой способ решения этой проблемы, который будет работать с интерфейсом MFC в Windows?

6
задан Redeye 14 February 2012 в 09:50
поделиться