2

アプリケーションを開発し、func: ServiceFound(DNSSDService sref, DNSSDFlags flags, uint ifIndex, String serviceName, String regType, String domain) を介して hotsname を取得できます。

Wireshark と Log を確認しましたが、serviceName は正しいです。

私の質問:「serviceName.domain」を介して ping できないのはなぜですか。例: ping serviceName.local. (アプリケーションを実行する前に ping を使用して、使用可能なネットワークをテストしたいのですが、失敗した ping はブロックされています) しかし、実際の IP を介して ping を実行できます。

ServiceFound と ServiceResolved は、serviceName のみを提供します。

この問題を解決する方法:1)IPを取得する簡単な方法または2)「ping serviceName.local」の問題を解決する方法

事前にご支援いただきありがとうございます!

** * ** * ** * ** * ** * ** * ** * ***アップデート* ** * ** * 他の PC で再テスト:

dns-sd.exe を使用してネットワークをデバッグします

次のコマンドを使用すると、サービス名を取得できます

$ dns-sd.exe -B _http._tcp

_http._tcp タイムスタンプ A/R フラグのブラウジング ドメイン サービス タイプ インスタンス名 4:33:52.663 Add 3 3 local. _http._tcp. テスト

次のコマンドを使用すると、ゾーン ファイルを取得できます

$ dns-sd.exe -Z _http._tcp

_http._tcp _http._tcp PTR Officejet\032Pro\032L7500\032[FEDCE8]._http._tcp Officejet\032Pro\032L7500\032[FEDCE8]._http._tcp SRV 0 0 80 HPFEDCE8.local を参照しています。; 対象ホスト Officejet\032Pro\032L7500\032[FEDCE8]._http._tcp TXT "" のユニキャスト FQDN に置換

次のコマンドを使用すると、IP を取得できます (上記のフィードバックの HPFEDCE8.local に基づく)。

$ dns-sd.exe -G v4 HPFEDCE8.local.

タイムスタンプ A/R フラグ ホスト名 アドレス TTL 4:43:38.965 Add 2 3 bej1301Dell2360.local. 10.61.20.99 240

したがって、HPFEDCE8.local を介して ping を実行できます。

しかし、私のテスト PC では、「$ dns-sd.exe -B _http._tcp」は問題ありませんが、他のコマンドは失敗します。

ですから、これが根本的な原因だと思います。だから私の質問は:私が知っているように、「インスタンス名」を使用してホスト名を生成できます:test.local。「HPFEDCE8.local」と異なる理由。ゾーン ファイル
で「HPFEDCE8.local に ping を実行する」理由。わかりました、そして「ping test.local」。失敗した

テスト PC について他に何かアイデアはありますか?

どうもありがとう!!

4

0 に答える 0