【问题标题】:Does lwIP support Zeroconf?lwIP 支持 Zeroconf 吗?
【发布时间】:2011-01-23 10:59:41
【问题描述】:

我看到lwIP 有一些 AutoIP(又名 IPv4LL,又名 RFC 3927)代码,但我不知道它是否在 Zeroconf 堆栈中执行更高级别的操作,即 mDNS 和 DNS-SD(与RFC 2782)。

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

【问题讨论】:

    标签: c networking embedded zeroconf lwip


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      https://bitbucket.org/geekman/tinysvcmdns

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

      【讨论】:

        【解决方案3】:

        不,lwIP 不支持 Zeroconf 的任何部分,除了 AutoIP。 我没有看过 Avahi,但将 Apples mDNSResponder 移植到 lwIP 很简单。有一点肮脏的地方你 必须拉回 pbuf 标头才能访问 IP 标头以获取 发件人IP(我认为这是一种“正确”的方法正在开发中 对于 lwIP 但 AFAIK 尚未发布)。

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-01-11
            • 1970-01-01
            • 2015-06-12
            • 2017-01-24
            • 2021-03-19
            • 2015-02-15
            • 2012-01-21
            • 2021-05-30
            相关资源
            最近更新 更多