【问题标题】:How to advertise a Bonjour Service in Visual C++如何在 Visual C++ 中宣传 Bonjour 服务
【发布时间】:2010-08-11 22:03:30
【问题描述】:

我试图弄清楚这是否可能,但是通过 Visual C++ 宣传 Bonjour 服务的最简单方法是什么?

【问题讨论】:

    标签: windows visual-c++ bonjour zeroconf


    【解决方案1】:

    您可以使用 DNS 服务发现 客户端:dns-sd

    Windows Bonjour 安装程序 将其放入 C:\Windows\system32\dns-sd.exe

    它的简介是:

     dns-sd -R name type domain port [key=value ...]
    
     dns-sd -B type domain
    
     dns-sd -L name type domain
    

    没有任何简单的方法可以找到深入的 Bonjour windows 文档,(这真是一种耻辱)但这里是它的 mac 等效手册页:
    http://developer.apple.com/.../dns-sd.1.html

    还有 C:\Windows\system32\dnssd.dll 的 API,我不得不假设符合这个文档:
    http://developer.apple.com/.../dns_sd_h/

    【讨论】:

    • 更新:文档中的一个 atrocious 细节:«dns-sd 命令主要用于交互式使用。因为它的命令行参数和输出格式可能会发生变化,所以从 shell 脚本调用它通常会脆弱 »
    【解决方案2】:

    这是一个相当老的问题......但是,由于我最近在 Windows 中为一个项目实现了 Bonjour 功能,所以对它有一些了解。 Apple 开发人员站点有一个适用于 Windows 的 Bonjour SDK,其中包含 C、C# 等示例。在 C 示例文件夹中,有一个完整的 dns-sd 客户端源代码,您可以使用它来构建自己的客户端(用于注册服务、名称, ETC。)。由于那是 C,您可以轻松地将此功能打包为 dll,然后允许其他语言使用它(例如,C#)。

    Bonjour SDK for Windows @ developer.apple.com

    【讨论】:

      猜你喜欢
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 2023-04-05
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多