2010-08-14 37 views
1

我正在開發基於回合的PHP5網頁遊戲。PHP中的基於回合的網頁遊戲 - 溝通問題

這是非常簡單的遊戲,一種棋盤遊戲:兩個人加入一個「會話」,他們一直玩,直到他們中的一個獲勝。

我在一言以蔽之問題:

  • 用戶A和用戶B玩遊戲。

  • 用戶最終輪到他

  • 請求將被髮送到服務器以進行必要的操作。
  • 現在是時候爲用戶B移動..

但我怎麼可以通知用戶B樣?

我的意思是,現在服務器必須與其他用戶進行通信,而不是發起請求的用戶。

我知道這可以使用某種週期性的AJAX調用來實現,檢查對手是否完成了他的轉身等,但這樣的事情會產生大量的請求。

沒有更好的方法來解決這個問題嗎?

我在想是這樣的:

  • 用戶A的回合結束
  • 服務器節省了他的得分
  • Server將聯繫用戶B
  • 用戶B的回合得到啓動。

這可能使用PHP和彗星式的請求?還是有更好的方法來做到這一點?

任何幫助,將不勝感激!

提前致謝!

回答

2

當前正在運行的遊戲/圈數的內存數據庫以及每1.5秒左右從用戶B執行的一次檢查將不會真正生成巨大的數量的請求或服務器負載。

根據什麼適合您的遊戲,您甚至可以擁有7s,5s,3s,2s,1s,1s等輪詢方案。

你甚至可以完全離開PHP,如果你只是在完成一個會話文件touch,並檢查最後修改的客戶端。

相關問題