跟踪可能更改的网络服务的 IP 地址的最佳方法是什么? (以en0、en1来回切换为例)
调用 startMonitoring 后,当 TXT 记录数据更改时,您会收到回调,但我发现没有明显的方法可以在 IP 更改时收到通知。
目前,我只是在连接失败时重新浏览并检查 IP 是否已更改。我希望这不是最干净的方法。有什么想法吗?
最佳答案
可能存在对 NSNetService 性质的轻微误解 - 这会导致您感到困惑。
你应该保留对 NSNetService 的引用,当你想连接到它时,你告诉它:
- (void)resolveWithTimeout:(NSTimeInterval)timeout
该调用会立即返回,并在找到该服务的地址时通知您的 NSNetServiceDelegate。理想情况下,您在这些限制内工作。
如果您真的只是想主动跟踪 IP 地址的变化,那么维护每个 NSNetService 的实例,在每个实例上调用 startMonitoring(),并维护您的委托(delegate)收到的每个 netServiceDidResolveAddress() 回调的记录。
关于objective-c - IP 更改的 NSNetService 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6511581/