ネットワーク上で提供しているサービスにアクセスできます。ディスカバリ(DNS-SD)メカニズムを実装しています。インスタンスの名前を指定することで、アプリがサービスをリクエストすることを可能にします。プラットフォームでもサポートされています。ネットワーク上で、アプリがリクエストするサービスをサポートする他のデバイスをユーザーが識別できるようになります。した機能を実装する手間を軽減します。ネットワークにブロードキャストし、他のアプリから情報をスキャンするアプリの作成方法を説明します。最後に、別のデバイスで実行されている同じアプリに接続する方法を示します。この手順は省略可能です。ネットワークにブロードキャストしない場合は、このセクションを飛ばして次のネットワーク上のサービスを検出するに進んでください。オブジェクトを作成します。このオブジェクトは、ネットワーク上の他のデバイスがあなたのアプリのサービスに接続するかどうかを決定する際に使用する情報を提供します。スニペットでは、サービス名を「NsdChat」に設定しています。サービス名はインスタンス名であり、ネットワーク上の他のデバイスに表示される名前です。サービスを検索するすべてのデバイスに表示されます。この名前はネットワーク上のすべてのサービスに対して一意であることが必要です。競合の解決を自動的に処理します。「NsdChat(1)」のような名前に自動的に変更されます。構文は「_<protocol>._<transportlayer>」です。プロトコルを使用しています。プリンタなど)では、サービスタイプを「_ipp._tcp」に設定します。プロトコルで使用されるサービスタイプの信頼できる一元的なリストを管理しています。サービス名とポート番号のリストからダウンロードできます。ポートとサービスの登録フォームに記入して予約してください。サービスのポートを設定する際は、他のアプリとの競合を避けるため、ポートをハードコードしないでください。使用すれば、同じポートを使用する他のインストール済みアプリと競合する可能性があります。代わりに、デバイスの次に利用可能なポートを使用してください。ブロードキャストによって他のアプリに提供されるため、アプリが使用するポートが、コンパイル時に他のアプリにわかっている必要はありません。ブロードキャストからこの情報を入手できます。設定するだけで初期化できます。インターフェースを実装する必要があります。使用するコールバックが含まれています。}これで、サービスを登録する準備がすべて整いました。メソッドを呼び出します。メソッド内で実行する必要があります。ウェブカメラまで、ネットワークは生き生きしたモノであふれており、生き残りを賭けて至るところでモノどうしの激しい戦いが繰り広げられています。ブロードキャストをリスニングして、利用可能なサービスを見極め、アプリが利用できないものを除外する必要があります。つのステップがあります。実装する匿名クラスをインスタンス化します。次のスニペットで単純な例を示します。このインターフェースのメソッドを使用して、検出が開始されたとき、失敗したとき、そしてサービスが見つかったときと失われたときに、アプリに通知します(「失われた」とは「もう利用できない」という意味です)。このスニペットは、サービスが見つかったときにいくつかのチェックを行います。サービスのサービス名と比較され、デバイスが固有の(有効な)ブロードキャストを捕捉したかどうかが判定されます。サービスタイプがチェックされ、アプリが接続できるサービスのタイプかどうかが確認されます。サービス名がチェックされ、適切なアプリへの接続が確認されます。サービス名のチェックは必ずしも必須ではなく、特定のアプリに接続したい場合のみ実施します。他のデバイスで実行されている同じアプリのインスタンスだけに接続する場合などです。プリンタに接続する場合は、サービスタイプが「_ipp._tcp」であることがわかれば十分です。プロトコル、先ほど作成したリスナーを渡します。メソッドを使用して、そのサービスの接続情報を決定する必要があります。アドレスやポート番号などの詳細なサービス情報がアプリに送られます。これには、サービスへの固有のネットワーク接続を作成するために必要なすべての情報が含まれています。機能を有効化および無効化することが重要です。アプリの終了時にアプリを登録解除すると、終了したアプリをまだアクティブであると他のアプリが見なして接続しようとするのを防ぐことができます。ディスカバリは高コストなオペレーションであるため、親アクティビティが一時停止されると停止し、再開されると再び有効化することが必要です。ディスカバリを開始および停止するコードを挿入してください。