我有一个通过 Bonjour 发布的 iPhone 应用程序。Mac 对应的工作,它们同步和交换数据。现在我必须把那个小的 Mac 应用程序移植到 Windows 上。我决定使用 .NET(因为这就是我所知道的)。
该应用程序并不复杂,但我处于早期阶段。我需要浏览/发现 Bonjour 服务。对于这个任务,我下载了 Mono.Zeroconf 和 Apple 最新的 SDK(其中包括几个 C# 示例)。
我并没有真正粘贴代码,因为我真的在复制/粘贴示例。事实上,Mono.Zeroconf 有一个 MZClient.exe 可以用来测试“所有的 API”。
我的第一个测试是 - 在同一个盒子上 - 打开两个 cmd.exe 并启动一个注册服务的 MZclient,然后启动它并“发现它”。
它不起作用。
这是服务器:
C:\MZ>MZClient -v -p "_http._tcp 80 mysimpleweb”
*** Registering name = 'mysimpleweb', type = '_http._tcp', domain = 'local.'
*** Registered name = ‘mysimpleweb’
在另一个终端上:
c:\MZ>MZClient -v -t "_http._tcp"
Creating a ServiceBrowser with the following settings:
Interface = 0 (All)
Address Protocol = Any
Domain = local
Registration Type = _http._tcp
Resolve Shares = False
Hit ^C when you're bored waiting for responses.
就是这样。没发生什么事。我当然尝试过不同的服务,但无济于事。甚至在那个领域玩了一点。请记住,这是同一个盒子。我在另一台计算机上尝试过,因为这是 OSX 中的虚拟机,所以我继续尝试“纯”win XP。没有。
注意:我有 Apple Bonjour 服务(启动并运行)以及 Apple SDK(稍后安装)。
鉴于这不起作用,我继续并决定尝试具有互操作和一些预编译示例(及其源代码)的 Apple SDK。
短篇小说,mDSNBrowser.exe 和 SimpleChat.exe 都不起作用/查看/发现任何东西。
我的盒子是 Parallels 下的 Win7,但这似乎并没有影响任何东西,因为原生 XP 也出现了同样的问题。
我做错了什么?