2010-11-11 25 views
1

我剛剛開始使用移動開發,經過大量搜索後,我仍然對從iPhone發送消息到另一個或Android發送消息感到困惑。例如,在構建一個簡單的Tic-Tac-Toe遊戲時,如果我想通知另一個移動電話,最好的方法是什麼? Wifi,藍牙,3G?如何?如何將iPhone中的簡單數據發送到其他iPhone或Android?

許多方法似乎指向通過Web服務器進行通信,但我寧願將它們直接從手機發送到手機,如果可能的話。 (當然是用於本地應用程序)

回答

1

如果你不想有一個服務器(或者即使你這樣做!這取決於!)它聽起來像你會想要使用TCP套接字。蘋果公司沒有一個通用的藍牙API來與iPhone到Android的通信一起使用,並且無論如何3G都會擁有TCP訪問權限。 3G網絡連接與wifi非常相似,您應該能夠根據需要檢查差異,對整體網絡代碼進行很少的更改。我不確定bonjour是否支持Android,但我敢打賭,有人已經將它移植到了類似的原因,並且它在iOS中得到了支持。對於您可能會發現內容豐富的iOS,Apple有a networking section

此外,如果你想留在iOS設備的唯一領域,你可以使用GameKit通過藍牙進行通信。

希望有助於一些。

+0

謝謝,這個(以及其他一些評論)是一個很好的開始。欣賞鏈接。 – JKomusin 2010-11-12 03:37:48

1

最簡單的方法是用API創建Web服務器,然後客戶端輪詢服務器進行新的移動(或者服務器將客戶端更新)。除非你能弄清楚兩個手機的IP地址(手機甚至長時間保持相同的IP地址嗎?),這是你能夠通過3G做到這一點的唯一方法嗎?並且在兩者之間打開插座他們讓一個電話成爲服務器,另一個成爲客戶(可能會導致潛在的作弊)。

1

WiFi並不總是存在 - 通過將用戶的選擇限制在具有接入點的區域,您將失去銷售。不確定藍牙 - 手機的普及程度,API的暴露程度。你最好的選擇,恕我直言,是3G。使用某種中央存在服務器(Web或其他),使用可選的代理服務器。閱讀對等網絡。

1

據我所知,iPhone只支持通過推送通知傳入的消息。 這意味着,你必須更新信息,通過從網絡服務等請求它。 iPhone的藍牙API不支持這一點。

相關問題