2011-02-16 22 views
1

我正在開發一個非實時瀏覽器RPG遊戲(想想Kingdom of Loathing),它將在Flash應用程序中播放。起初,我只是想使用URLLoader與服務器通信,告訴PHP我在做什麼,並使用$ _SESSION存儲請求之間所需的數據。Flash瀏覽器遊戲 - HTTP + PHP vs Socket +其他

我想知道將它放在套接字連接上是不是更好,它是駐留在用Java或Python編寫的服務器上的應用程序。問題是我從來沒有寫過這樣的應用程序,所以我不知道我需要將我的想法從簡單的響應請求(如PHP)「轉移」到持續工作的應用程序。我不會隱藏我也關心此類服務器應用程序的內存和CPU使用情況,例如,當有數百個用戶連接時。我做了一些研究。

我試圖做一些研究,但是由於我對套接字主題的知識還沒有找到有用的東西。因此,考慮到我不需要實時數據交換的事實,將服務器端部分開發爲套接字服務器,而不是普通的「PHP」是明智的嗎?

回答

1

由於您的遊戲並非實時工作,您可能不需要沿着套接字路線走下去,儘管它確實是一個可行的選擇。關於套接字的好處是,即使不需要頁面刷新(或服務器輪詢),更新也是即時的,所以你至少考慮它是正確的。

如果你確實想做一個更實時的服務器設置,你可以考慮使用類似Electroserver的東西 - 這爲你提供了很多設置,所以你不必從頭編寫自己的服務器,再加上如果我記得正確,它可以免費使用一定數量的併發用戶。

最後,您擁有的第三個選項是使用AMF的修改POST方法。看看AMFPHP,它可以直接從Flash應用程序調用PHP後端的方法。比簡單地使用POST東西更快更簡單,但不像套接字連接或專門構建的遊戲服務器那樣無縫。

這裏有很多選擇,這聽起來像你意識到這一點,並試圖提出最好的方法而不僅僅是用你所知道的滾動!我希望這有助於,如果您有任何問題,請告訴我。

下面是Electroserver鏈接 - http://www.electro-server.com/

+0

這Electroserver看起來很有趣,但過於昂貴的我。我通過google快速瀏覽了一下,發現了BlazeDS和red5(兩者都是免費的),但只是簡單地看一下安裝說明,對我很有幫助,希望對我的案例有一些幫助(Debian with Apache + PHP 5.3 + MySQL )。我想我還有一些時間去調查。儘管如此,你完美地釘住了它 - 反應速度是我最想要的。順便說一句,我意識到AMF比簡單的POST更容易,但是你有一些來源說明測試證明它更快? – Maurycy

+1

這個工具真的很整潔,我在查找答案時只是碰到它:http://www.jamesward.com/census/ – Myk

+1

這也可以幫助你:http://twitpic.com/40hxdh/full – Myk