3

Wifi Direct を使用する Android アプリケーションをプログラミングしています。サービスを開始しようとしており、WifiP2pDnsSdServiceInfo.newInstance を呼び出しています。ただし、使用できるさまざまなサービス タイプを検索しており、これまでのところ「_presence._tcp」しか見つかりませんでした。

アプリケーションが達成しようとしていることに対して「意味のある」サービス タイプをどうにかして見つけなければならないことを理解しています。それを「発明」することはできますか?利用可能なプロトコルのリストはありますか?

どうもありがとう!

4

1 に答える 1

5

Android のドキュメントでは、ガイドのUsing Network Service Discoveryで開始するためのいくつかの情報を提供しています。それによると、サービス タイプは、アプリケーションが使用するプロトコルとトランスポート層を指定します。構文は_<protocol>._<transportlayer>. したがって、2 番目の部分では既存のトランスポートのみを使用する必要があります。もちろん、最も一般的に使用されるのはtcpandudpです。

最初の部分については、アプリケーション レベルのプロトコルがたくさんあります。たとえば、presenceは xmpp.org のメッセージング プロトコルで、ippはプリンター サービスです。登録されているプロトコルのほぼ完全なリストは、dns-sd.org サイトにあります。また、 iana.org のサービス名レジストリも参照してください。

DNS ベースのサービス ディスカバリは、多数の実装を持つゼロ構成ネットワーキングの一部であるため、プロトコルの追加リストは特定のベンダー サイトで見つけることができます。たとえば、Apple の Bonjour サービス タイプのリストは次のとおりです。

世界中で使用されているプロトコルを網羅した単一のリストは存在しないと思います。それにもかかわらず、合理的に区別可能な基本構造 (頭字語および/またはセマンティクス) を使用して独自の名前を発明できると思います。インターネットを検索して、自分の名前が Zeroconf および DNS-SD に関連して表示されないことを確認してください。

于 2013-10-14T08:19:34.320 に答える