2010-03-03 3 views
13

Я вижу, что lwIP имеет некоторые AutoIP (ака IPv4LL, он же RFC 3927) код, но я не могу сказать, если он делает что-либо выше в Zeroconf стека, а именно MDNS и DNS-SDRFC 2782).Поддерживает ли lwIP Zeroconf?

Итак, поддерживает ли lwIP сервис обнаружения DNS-SD? Если нет, было бы легко переносить код из проекта, например Avahi, который делает (при условии, что это разрешает лицензирование)?

ответ

8

Нет, lwIP не поддерживает какую-либо часть Zeroconf, кроме AutoIP. Я не смотрел Аваки, но портировал яблоки mDNSResponder на lwIP довольно просто. Существует один бит гадости, в котором вам нужно отбросить заголовки pbuf для доступа к IP-заголовку, чтобы получить IP-адрес . (Я думаю, что «правильный» метод для этого находится в работе для lwIP, но AFAIK он не в релиз еще).

С помощью mDNSResponder вы получаете как сервисную рекламу, так и открытие.

5

Я не могу комментировать часть LWIP вашего вопроса (последний раз, когда я использовал LWIP, у нее даже не было поддержки IPv4LL), но вам может быть интересно узнать, что Apple имеет открытый код своего mDNSResponder, можно получить здесь: http://developer.apple.com/networking/bonjour

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

3

Веб-сайт LwIP имеет task tracker со следующими тремя пунктами (это выглядит, как если бы они были добавлены около 2010 года, примерно в то время этот вопрос был первоначально просил):

0

Вот очень маленькая MDNS Ответчик, который может быть перенесен довольно легко LwIP:

https://bitbucket.org/geekman/tinysvcmdns

яблоки mDNSResponder все еще довольно супертяжелом для очень маленьких систем (с точки зрения использования RAM), поэтому, если требуется только базовая функциональность, это может быть предпочтительным.