2011-06-28 7 views
4

変更される可能性があるnetserviceのIPアドレスを追跡する最も良い方法は何ですか? (例えばen0、en1の間で前後に切り替える)IP変更のNSNetServiceコールバック?

startMonitoringを呼び出した後、TXT Recordデータが変更されたときにコールバックが返されますが、IPが変更された場合に通知する明確な方法が見つかりませんでした。

現在、接続が失敗したときに再度参照し、IPが変更されたかどうかを確認します。私はこれがこれを行う最もクリーンな方法ではないことを願っています。何か案は?

答えて

1

NSNetServiceの性質が軽微な誤解が存在​​する可能性があります。これが混乱の原因となります。

あなたはNSNetServiceにあなたの参照を保持する必要があり、そしてあなたがそれに接続したいとき、あなたはそれを教えて:

アドレスはそのために発見されたとき、すぐに収益を呼び出すと、あなたのNSNetServiceDelegateは言われ
- (void)resolveWithTimeout:(NSTimeInterval)timeout 

サービス。理想的には、これらの制限内で作業します。

実際にIPアドレスの変更に従いたい場合は、各NSNetServiceのインスタンスを維持し、それぞれに対してstartMonitoring()を呼び出し、デリゲートが受け取る各netServiceDidResolveAddress()コールバックのレコードを維持します。

関連する問題