2012-02-20 60 views
1

我正在開發一個在線pong遊戲,其中兩個玩家可以在它們之間玩。如何溝通兩個androids設備

雖然對於它來說,玩家必須連接到服務器,它會告訴玩家在線玩誰。此外,服務器將節省排名和其他的東西。

但是對於這個遊戲,起初我還是使用服務器進行匹配(發送座標等),但我認爲這不是最好的設計,因爲它非常慢。

所以我在想Android設備必須能夠在它們之間進行溝通,不是嗎?任何想法?他們有一個ID ...

如果他們可以...服務器可以發送對手的身份證,那麼這場比賽將開始在移動設備之間而不是在服務器之間溝通。

需要一些幫助!

回答

1

您可以設置手機之間的直接連接,當然。使服務器協調對戰,向每個玩家發送其他玩家的數據(IP等)。

您必須在玩家之間使用/開發服務器/客戶端系統。其中一名球員將充當服務器,另一名將直接連接到服務器。確保他們可以正確識別對方。您可以讓中央服務器決定哪個播放器充當匹配服務器。網絡上的一個簡單的UDP連接可以解決這個問題。

該方案將爲您節省中央服務器的帶寬,並可能爲玩家帶來更快的速度。但是,它是你必須編寫的另一個子系統。

確保您恰當權衡這些因素,並記住快速部署有時比完全沒有部署更好。 (有時)

+0

非常感謝!你知道任何關於移動設備之間的udp連接的例子或圖書館嗎? – Frion3L 2012-02-21 08:21:37

+0

SDK可能具有TCP/IP和UDP庫。在任何Android開發書中查找網絡部分,您會發現我提到的經典服務器/客戶端示例。 – CptAJ 2012-02-21 17:28:09