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:@""];
有一個guide解釋這一切。該協議在10年以上沒有變化,您可以依賴所有支持它的現代iOS/OS X版本。 jMDNS庫在這個階段也經過了很好的戰鬥測試。
如果您不想讓搜索_http._tcp.
的其他應用可以看到您的服務類型,您可以考慮創建自己的服務類型,不過這只是一個美觀的事情。
2)最簡單的工作將是HTTP基本身份驗證;你沒有說你的應用程序支持什麼樣的身份驗證,或者你如何在客戶端發出HTTP請求,但這已經是pretty和covered了。
謝謝你的幫助。我很感激。 –