2014-01-30 64 views
1

我想用PHP創建多人遊戲。 我爲此創建了完整的面向對象系統 - 管理整個遊戲的類。 我也聲明爲遊戲編寫HTML + Canvas代碼 - 現在我有一個問題。 對於真正的HTML5多人遊戲,我需要使用Node.js + Socket.io技術。 但我不想離開我所有的PHP代碼,並開始實施所有與節點。使用PHP和HTML5實現多人撲克遊戲?

所以我嘗試使用AJAX輪詢,以便玩家每次在遊戲中做一些事情都可以更新服務器 - 但問題是 - 如果任何玩家關閉瀏覽器或破解JavaScript遊戲計時器 - 服務器無法知道因爲PHP代碼是執行一次。 我想過創建一個每秒運行的cron-job並檢查玩家是否仍然活躍,但cron-job僅限於每分鐘執行一次(並且我不認爲這是正確的方法)。

那麼我該怎麼辦?我需要將我所有的工作都留在PHP中,並開始學習並使用Node.js再次實現它們? 即使PHP代碼已經執行,也沒有其他選擇讓服務器運行?

回答

2

只是個人觀點,我是PHP的忠實粉絲,我喜歡它,但是我確認PHP何時不是特定問題的答案。 PHP不是爲實時應用程序設計的,確保有很多解決方案:ApeRatchet,但最終我覺得我的CPU週期比我真正需要的要多。我會堅持使用Nodejs和socket.io,因爲它們旨在被實時應用程序使用。再次,這只是個人意見。

1

PHP它真的不是找你找...... 你必須用更好的技術,如&的NodeJS插座IO

1

可以用PHP實現長輪詢set_timeout(0),然後執行一個AJAX無盡的循環,但它真的很蹩腳

1

我知道這個問題有點老 - 但我只是完成開發一個德克薩斯州撲克遊戲與NodeJS和MongoDB,它真的不可思議! 當你有這樣的技術時,PHP就不存在了!