1) Bonjour は Java アプリと簡単に連携できます。特にマゾヒスティックな場合は、独自の Java ベースの mDNS (Bonjour) レスポンダーを作成できます (私はそれを行いましたが、ロケット科学ではありません)。しかし、最も簡単な方法は、http サーバーでjMDNSを使用して、存在。コード サンプルをコピーして貼り付けることはしませんが、ほとんどのアプリケーションには十分です。
iOS 側では、NSNetServiceがあなたの味方です。基本的には、バックグラウンドでレスポンダーを開始してサービス (つまり、Java アプリ) を探し、何かが現れたり消えたりしたときにデリゲートを呼び出す必要があります。
id delegateObject; // Assume this exists.
NSNetServiceBrowser *serviceBrowser;
serviceBrowser = [[NSNetServiceBrowser alloc] init];
[serviceBrowser setDelegate:delegateObject];
[serviceBrowser searchForServicesOfType:@"_http._tcp" inDomain:@""];
すべてを説明するガイドがあります。プロトコルは 10 年以上変更されておらず、最新のすべての iOS/OS X バージョンでサポートされています。jMDNS ライブラリも、この段階で十分にテストされています。
を検索する他のアプリに表示されたくない場合は、独自のサービス タイプを作成することを検討してください_http._tcp.
。ただし、これは表面的なことです。
2) 最も簡単に機能するのは、HTTP 基本認証です。アプリがサポートする認証の種類や、クライアント側で HTTP リクエストを作成する方法については言及していませんが、これについては既に十分に説明されています。