| ログイン | ご入会 |
ADC連絡先
|
|
|
|
|
Q: Rendezvous 対応ハードウェアデバイスの開発中に、デバイスが "Goodbye" パケットを送信せずにクラッシュしたり、そのサービス名を変更したりすることがあるため、Mac 上のブラウザリストには古いサービス名が表示さ続けます。マシンを再起動せずにこれらの古いサービスエントリを手動でクリアすることはできますか?
A: はい、できます。Rendezvous はネットワークの効率のために DNS リソースレコードをキャッシュしますが、デバイスが "Goodbye" パケットを送信せずにネットワークから突然消えた場合、他のマシンにはそのデバイスがなったことが分からないため、データはすべてのキャッシュに残ります。"Goodbye" パケットについては、マルチキャスト DNS プロトコル仕様のセクション 13.2 で説明されています。Rendezvous はこうした古いレコードを段階的に消去する方法を実装していますが、手動でキャッシュをクリアしたい場合もあります。 あるサービス名を Resolve(解決)しようとして、回答がない場合、mDNSResponder は約 1 分経過後にその古いレコードをキャッシュから削除します。そのサービスタイプに対してアクティブな Browse コールを行っているマシンは、そのインスタンスの "Remove" イベントを取得することになります。このため、古いサービスを利用しようと試みることが、キャッシュからこれをフラッシュする 1 つの方法です。 キャッシュからレコードをフラッシュするもう 1 つの方法は物理的な切断です。Ethernet 上で発見されたサービスをクリアするには、Ethernet ケーブルを抜いて 5 秒ほど待ち、ケーブルを元どおりに差し込みます。または、システム環境設定の「ネットワーク」パネルの「ネットワークポート設定」セクションで、「内蔵 Ethernet」の右にあるボックスのチェックを解除して「今すぐ適用」をクリックし、次に同じボックスを再度チェックして「今すぐ適用」をクリックします。 AirMac 上で発見されたサービスをクリアするには、メニューバーの AirMac アイコンで AirMac をオフにして 5 秒ほど待ち、それをオンの状態に戻します。または、システム環境設定の「ネットワーク」パネルの「ネットワークポート設定」セクションで、「AirMac」の右にあるボックスのチェックを解除して「今すぐ適用」をクリックし、次に同じボックスを再度チェックして「今すぐ適用」をクリックします。 Mac OS X 10.3 (mDNSResponder-58) で起動して、コンピュータをスリープ状態にすると、すべてのネットワークインタフェース上にキャッシュされているリソースレコードがクリアされます。 [2004 年 2 月 11 日] |