| ログイン | ご入会 |
ADC連絡先
|
|
Q:ネットワーク上にアドバタイズされているすべての Rendezvous サービスを動的に検出することは可能でしょうか。A:はい。mDNSResponder-58.6(Mac OS X 10.3.4)以降が動作しているデバイスは、DNS-SD 仕様のセクション 10 に規定されている "Service Type Enumeration" メタクエリに応答します。"_services._dns-sd._udp.local." という名前を検索するマルチキャスト DNS PTR レコードクエリを発行すると、ローカルネットワーク上でアドバタイズされているサービスタイプの一覧が返されます。 "_services._dns-sd._udp.local." を検索するクエリは、標準の mDNS クエリの場合と動作が少し異なります。通常の mDNS 長期クエリの場合には、レコードの登録と登録解除に伴って ADD/REMOVE イベントが返されますが、サービスタイプ列挙メタクエリの場合には、サービスの登録が解除されたときの REMOVE イベントは通知されません。それ以外の点では、メタクエリの動作は標準の mDNS クエリと同じです。ネットワークインタフェースが無効になったとき、および、PTR レコードがキャッシュの中で自然に期限切れを迎えたときに、REMOVE イベントが通知されます。 注意: この非標準の動作は、ネットワークトラフィックの軽減に寄与します。ネットワーク上の複数のデバイスは、同じメタクエリ PTR レコードを登録するので、そのいずれか 1 つのデバイスが当該レコードに対応する goodbye パケットを送信したとしたら、当該レコードが削除されないように、1 つ以上のデバイスがパケットに応答する必要があります。メタクエリ PTR レコードについて goodbye パケットが送信されないのは、このためです。goodbye パケットの詳細については、マルチキャスト DNS プロトコル仕様のセクション 13.2 を参照してください。 メタクエリは、「 DNSServiceMetaQuery サンプルコードは、サービスタイプ列挙メタクエリの発行方法を示します。 ドキュメントの改訂履歴
掲載日: 2004-06-01 |