13

我看到lwIP有一些 AutoIP(又名 IPv4LL,又名RFC 3927)代码,但我不知道它是否在Zeroconf堆栈中做了任何更高的事情,即 mDNS 和DNS-SD(使用RFC 2782)。

那么,lwIP 是否支持 DNS-SD 服务发现?如果不是,从像Avahi这样的项目中移植代码是否容易(假设许可允许)?

4

4 回答 4

9

不,lwIP 不支持除 AutoIP 之外的 Zeroconf 的任何部分。我没有看过 Avahi,但将 Apple 的 mDNSResponder 移植到 lwIP 非常简单。有一点令人讨厌,您必须拉回 pbuf 标头以访问 IP 标头以获取发件人 IP(我认为用于此的“正确”方法正在为 lwIP 工作,但 AFAIK 它尚未发布) .

使用 mDNSResponder,您可以获得服务广告和发现。

于 2010-03-04T09:59:35.703 回答
5

我无法评论您问题的 LWIP 部分(我上次使用 LWIP 时它甚至没有 IPv4LL 支持),但您可能有兴趣知道 Apple 已经开源了他们的 mDNSResponder 代码,可从此处获得: http://developer.apple.com/networking/bonjour

这个实现的有趣之处在于它们提供了一个 VxWorks 平台层,这很可能比 Avahi 库更适合移植到您的嵌入式目标。

于 2010-03-04T00:26:03.453 回答
3

lwIP 网站有一个任务跟踪器,其中包含以下三个项目(看起来好像它们是在 2010 年左右添加的,大约在最初提出这个问题的时候):

于 2012-05-11T04:04:35.370 回答
0

这是一个非常小的 mDNS 响应程序,可以很容易地移植到 lwIP:

https://bitbucket.org/geekman/tinysvcmdns

Apple 的 mDNSResponder 对于非常小的系统(在 RAM 使用方面)仍然是相当重量级的,所以如果只需要基本功能,这个可能是首选。

于 2013-02-22T16:11:26.530 回答