【发布时间】:2014-01-16 19:27:35
【问题描述】:
我们的应用程序使用 Bonjour 来发现网络上的服务。在 DNSServiceResolveCallback 中,当发现新服务时,我将向应用程序的另一部分发送消息,然后该部分继续连接到新发现的服务器。心跳机制使我们能够立即检测到连接故障(例如拔下的电缆)。
Bonjour 本身不会立即检测到此类故障,因此我知道我需要手动使 Bonjour 的缓存无效。
但是怎么做呢?
看来我需要调用DNSServiceReconfirmRecord,但是我应该通过哪些选项?特别是,我的 fullname、rrtype 和 rdata 应该是什么? Apple 提供了an example(参见When Resolving Fails),但我不是很懂。
Bonjour 的缓存失效后,我会在哪里收到服务不存在的通知?在什么回调中?
如果服务再次上线(网线重插),浏览回调会通知我吗?
【问题讨论】:
标签: python networking bonjour