2012-09-16 72 views
3

是否可以在連接到同一網絡的兩個iOS設備(沒有網絡)之間建立套接字連接?是否可以在兩個iOS設備之間建立套接字連接

如果可能..是(CocoaAsyncSocket項目)對我有用嗎?

我只是想從裝置,它把應用程序在後臺一個到設備B發送消息。當設備B收到郵件應顯示通知應用程序返回前臺。

它不適用於App Store,所以我不在乎Apple是否因此行爲而拒絕該應用程序。

+0

我正在看你的另一個問題...對於這個問題,你是否也想通過wifi進行連接,而無需訪問運營商的網絡? – Nate

+0

我只是想使用** ad-hoc **這樣的本地網絡,但如果可能的話沒有網絡信號......感謝Nate的快速響應 – Husam

回答

2

,你可以做到這一點,並CocoaAsyncSocket將是有益的。如果您不必擔心運營商網絡的防火牆和過濾器,那麼您當然應該能夠構建在兩臺iOS設備上運行的客戶端 - 服務器應用程序。一個打開服務器套接字來偵聽,另一個(客戶端)通過Wi-Fi網絡連接。

嘗試在Google上搜索(例如"CocoaAsyncSocket iPhone iOS site:stackoverflow.com")或直接在Stack Overflow上進行搜索。

這裏的somebody who seems to have accomplished this

Another link

And a post from Robbie Hanson himself, referring you to the EchoServer projects in the github repository

EchoServer project

您可能需要使用靜態 IP地址服務器設備(我不知道有多少通過Wi-Fi網絡的配置控制你),或者使用其他一些機制讓兩個設備互相發現。

+0

您的話幫助了我,我成功地建立了一個客戶端 - 服務器應用程序作爲您的建議,我用'GCDAsyncSocket' ...但我面臨另一個問題:( – Husam

+0

監聽器設備無法讀取在後臺收到的數據,直到它成爲前景...換句話說,它是委託凍結在後臺模式..我想讀取數據在後臺收到以顯示本地通知包含(顯示應用程序)按鈕XD ...你有任何想法解決嗎?謝謝你 – Husam

+1

@Husam,我相信當你的應用程序轉到背景時iOS會關閉套接字。這不適用於應用商店,[你可以嘗試這個解決方案](http://stackoverflow.com/a/6000223/119114)。基本上,它有你的應用程序*假裝*是一個'voip'應用程序,這將允許它保持網絡連接前夕n在後臺。我想你可能需要添加一個*後臺任務*來完成這項工作......查看提供的鏈接。或者,如果您能夠越獄手機,則可以[將應用程序構建爲啓動守護程序](http://chrisalvares.com/blog/7/creating-an-iphone-daemon-part-1/) – Nate

相關問題