2010-05-11 49 views
1

我想爲Facebook開始一個項目,應用程序就像實時多人國際象棋遊戲。我遇到的問題是我不知道如何在播放器移動一個片段並更新player2瀏覽器中的新位置時存儲數據。我將使用PHP,MySQL服務器一側和jQuery客戶端渲染。最簡單的想法是將數據存儲在XML或MySQL中,並將結果重新生成到player2瀏覽器。但是我知道,當數千名球員參加比賽時,這不會是一種有效的方式。由於我沒有時間爲這個項目學習新的語言,我將不得不堅持使用PHP。我不打算使用閃光燈,因爲我想讓我的客戶端輕量且無閃光。那麼有什麼辦法可以解決我的問題嗎?如何在PHP請求之間存儲或共享實時數據?

+0

我認爲數據庫是一個不錯的選擇 - 如果您正確構建它,速度不會太慢 - 也許不會保留舊遊戲數據和某種自動數據庫維護腳本。 .. – ronaldosantana 2010-05-11 22:35:48

+0

這就是我想出來的。感謝你們所有人的寶貴意見! – Devyn 2010-05-11 22:51:12

回答

1

我想通過服務器是唯一的選擇。那就是存儲遊戲狀態是xml還是sql db。而且客戶需要頻繁地調查此狀態,例如jquery ajax。使用標準Web組件無法讓客戶直接與p2p進行通信。

2

你將不得不輪詢服務器更新每..也許2秒,取決於服務器負載。如果你使用flash,會有另一種選擇 - 使用套接字,它更適合多人遊戲,但是我認爲你不需要第三方運行時就可以製作它。HTML5有一些websocket,但它是當涉及到跨瀏覽器兼容性時非常糟糕

+1

在高服務器負載時,以較長間隔隔開請求是個好主意。這樣,當負載較輕時,您可以將其設置爲額外響應。 – 2010-05-12 01:07:50

相關問題