2012-06-16 70 views
0

我正在嘗試創建一個簡單的DrawSomething繪圖遊戲。這裏的問題不是遊戲本身,而是溝通。 如何將座標分配給其他智能手機(android + iOS)客戶端?2G/3G智能手機的實時通信

2G/3G: - 通常不支持點對點連接。 -UDP數據包被阻塞 - 碎片連接,即。客戶端一直在移動並切換基站,因此無法在客戶端與服務器或客戶端與客戶端之間保持單一連接。

顯然我們可以定期使用POLLING。中央服務器將是必需的,但輪詢對於實時通信而言是低效的。有點類似於實時性,你將不得不每隔100毫秒輪詢一次,使用100個客戶端可能會使服務器超載。

所以問題是我們如何爲移動網絡上的智能手機進行實時通信?

回答

0

那麼你想要做的是將所有的信息存儲在服務器上,而不是做任何Peer2Peer通信。當信息保存在服務器上時(交易完成),服務器向另一個玩家發送c2dm消息,通知他們新的轉向。如果C2DM不足,您可以使用XMPP實現您自己的p2p網絡,這是C2DM所基於的,但我不建議這樣做,C2DM應該是您需要的。

+0

你可能是對的。我看了一下DrawSomethings權限列表,發現這個很有趣:com.google.android.c2dm.permission – RedHotScalability

+0

對,他們剛剛添加了推送消息(C2DM)。他們沒有通知之前。像Words With Friends這樣的應用程序使用定期輪詢(壞),推送消息傳遞肯定是要走的路。 – Jug6ernaut