lwIP 支持 Zeroconf 吗?
我看到 lwIP 有一些 AutoIP(又名 IPv4LL,又名 RFC 3927) 代码,但我无法判断它是否在 Zeroconf 堆栈,即 mDNS 和 DNS-SD(使用 RFC 2782)。
那么,lwIP支持DNS-SD服务发现吗?如果没有,从像 Avahi 这样的项目移植代码是否容易(假设许可允许)?
I see that lwIP has some AutoIP (aka IPv4LL, aka RFC 3927) code, but I can't tell if it does anything higher up in the Zeroconf stack, namely mDNS and DNS-SD (with RFC 2782).
So, does lwIP support DNS-SD service discovery? If not, would it be easy to port code from a project like Avahi that does (assuming licensing allows it)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不,lwIP 不支持 Zeroconf 的任何部分(AutoIP 除外)。
我没有看过 Avahi,而是将 Apple 的 mDNSResponder 移植到 lwIP
非常简单。有一点点令人讨厌的地方
必须拉回 pbuf 标头才能访问 IP 标头以获得
发件人 IP(我认为“正确”的方法正在开发中)
对于 lwIP,但据我所知,它还没有发布)。
通过 mDNSResponder,您可以获得服务通告和发现。
No, lwIP does not support any part of Zeroconf except AutoIP.
I've not looked at Avahi but porting Apples mDNSResponder to lwIP
is quite straightforward. There is one bit of nastiness where you
have to pull back the pbuf headers to access the IP header to get the
sender IP (I think a "proper" method for this is in the works
for lwIP but AFAIK it's not in a release yet).
With mDNSResponder you get both service advertisment and discovery.
我无法评论你问题的 LWIP 部分(上次我使用 LWIP 时它甚至没有 IPv4LL 支持),但你可能有兴趣知道 Apple 已经开源了他们的 mDNSResponder 代码,可以从这里获取:
http://developer.apple.com/networking/bonjour
这个实现的有趣之处在于它们提供了一个 VxWorks 平台层,与 Avahi 库相比,它可能更适合移植到您的嵌入式目标。
I can't comment on the LWIP part of your question (the last time I used LWIP it didn't even have IPv4LL support), but you might be interested to know that Apple have open-sourced their mDNSResponder code, available from here:
http://developer.apple.com/networking/bonjour
The interesting thing about this implementation is that they provide a VxWorks platform layer which may well be a better match for porting to your embedded target than the Avahi library.
lwIP 网站有一个 任务跟踪器,其中包含以下三项(看起来像尽管它们是在 2010 年左右添加的,也就是最初提出这个问题的时候):
The lwIP web site has a task tracker with the following three items (it looks as though they were added around 2010, around the time this question was originally asked):
这是一个非常小的 mDNS 响应程序,可以很容易地将其移植到 lwIP:
https://bitbucket.org/geekman/tinysvcmdns
苹果的 mDNSResponder 对于非常小的系统(就 RAM 使用而言)来说仍然是相当重量级的,所以如果只需要基本功能,这可能是首选。
Here is a very small mDNS responder which can be ported rather easily to lwIP:
https://bitbucket.org/geekman/tinysvcmdns
Apples mDNSResponder is still rather heavyweight for very small systems (in terms of RAM usage), so if only basic functionality is required this one may be preferred.