Bonjour:无法ping通Windows上的serviceName

时间:2013-03-15 03:15:56

标签: bonjour

我开发我们的应用程序并且可以通过func成功获取hotsname:ServiceFound(DNSSDService sref,DNSSDFlags标志,uint ifIndex,String serviceName,String regType,String domain)

我检查了wireshark和Log,serviceName是对的。

我的问题:       为什么我无法通过“serviceName.domain”ping它,例如:ping serviceName.local。 (我想使用ping测试网络可用beofre运行我的应用程序。现在它阻止了失败的ping)       但我可以通过真实的IP ping它,例如:ping 1.2.3.4(这意味着网络没问题)

ServiceFound和ServiceResolved只提供serviceName。

那么如何解决这个问题:      1)获取IP的一种简单方法     或2)如何解决“ping serviceName.local”的问题

非常感谢您的支持!

** * ** * ** * 的** * ** * ** * ** * *** 更新 * ** * ** * 我在其他PC上重新测试:

我使用dns-sd.exe来调试网络

使用以下命令可以获得servicename

$ dns-sd.exe -B _http._tcp

浏览_http._tcp 时间戳A / R标志,如果域服务类型实例名称  4:33:52.663添加3 3本地。 _http._tcp。测试

使用以下命令可以获取区域文件

$ dns-sd.exe -Z _http._tcp

浏览_http._tcp _http._tcp PTR Officejet \ 032Pro \ 032L7500 \ 032 [FEDCE8] ._ http._tcp Officejet \ 032Pro \ 032L7500 \ 032 [FEDCE8] ._ http._tcp SRV 0 0 80 HPFEDCE8.local。 ;替换为目标主机的单播FQDN Officejet \ 032Pro \ 032L7500 \ 032 [FEDCE8] ._ http._tcp TXT“”

使用以下命令可以获得IP(基于HPFEDCE8.local。在上面的反馈中)

$ dns-sd.exe -G v4 HPFEDCE8.local。

时间戳A / R标志,如果主机名地址TTL  4:43:38.965添加2 3 bej1301Dell2360.local。 10.61.20.99 240

所以我可以通过HPFEDCE8.local ping它。

但在我的测试PC中:“$ dns-sd.exe -B _http._tcp”没问题,但是其他命令都失败了。

所以我认为这是根本原因。   所以我的问题是:     据我所知,我们可以使用“实例名称”来生成主机名:test.local。        为什么它们与“HPFEDCE8.local”不同。在区域文件中     为什么“ping HPFEDCE8.local。”好的,“ping test.local”。失败

您对我的Test PC有任何其他想法吗?

非常感谢!!

0 个答案:

没有答案