0

サブタイプに基づいてサービスディスカバリを実行しようとしています。

たとえば、avahi-publish -s --domain = local --subtype = "_ ann._sub._http._tcp" "serviceName" "_http._tcp" 5353"textRecord"を実行しています。

今、私はサブタイプex:AT + MDNSSD = _ann、_sub、_http、_tcp、localをクエリしています。

しかし、応答はavahiからのものです-publishにはサブタイプが含まれていません。「serviceNaem._http._tcp.local」という名前の応答メッセージが表示されます。

リソースレコードで「serviceName._ann._sub._http._tcp.local」として応答を取得できるように、avahi-publishにサービスを登録する方法を誰かが教えてもらえますか?

4

2 に答える 2

0

avahi-browse はサブタイプを明示的にリストしません。ただし、探しているものがわかっている場合は、それをフィルタリングできます。

[localhost]$ avahi-publish -s --subtype=_ann._sub._http._tcp  serviceName _http._tcp 5353 &
[1] 3012

[localhost]$ avahi-browse -t _http._tcp
+ eth0 IPv4 serviceName                                   Web Site             local
[localhost]$ avahi-browse -t _ann._sub._http._tcp
+ eth0 IPv4 serviceName                                   Web Site             local

[localhost]$ kill 3012

サブタイプを公開しない場合、それをフィルタリングしても何も返されません。

[localhost]$ avahi-publish -s serviceName _http._tcp 5353 &
[1] 3026

[localhost]$ avahi-browse -t _http._tcp
+ eth0 IPv4 serviceName                                   Web Site             local
[localhost]$ avahi-browse -t _ann._sub._http._tcp

[localhost]$ kill 3026

[wire|t]shark でトラフィックを監視し、ポート 5353 をフィルタリングすると、DNS クエリでサブタイプが PTR レコードとして返されていることがわかります。

于 2014-01-03T23:02:41.823 に答える