需求:房間開啟后10s內(nèi)人數(shù)達(dá)到8人游戲開始,或者房間開啟后10s房間人數(shù)大于等于2小于8游戲開始,開始后出現(xiàn)搖色子按鈕,3秒后不管用戶是否點(diǎn)擊出現(xiàn)色子旋轉(zhuǎn)動畫,3秒后出現(xiàn)各自結(jié)果。
問題:輪詢與延時該怎么做,這個場景用workerman好一點(diǎn)還是gateworker好一點(diǎn)
@xiaoxin
可以參考一下思路:
1、準(zhǔn)備數(shù)據(jù)
//旋轉(zhuǎn)動畫
$anixArr = ['room_id' => time()] // 房間id=》當(dāng)前時間戳
// 分?jǐn)?shù)
$result = ['room_id' => array("a" => 0, "b" => 0, "time" => time())] // 房間id =》 各自分?jǐn)?shù)
2、房間開啟后10s檢測
開一個10s的定時器,只開一次。判斷可以開始后,
$anixArr = ['room_id' => time()] // 寫入時間戳
3、1s的動畫檢測
開一個1s的定時器,循環(huán)處理$anixArr
foreach($anixArr as $sk => $v) {
if (time() - $sv >= 3) {
// 執(zhí)行
// $result賦值
}
}
4、1s的結(jié)果檢測
跟上面類似