//{"type": "to_msg","data": {"id": 2,"msg": "你在家嗎"}}
public static function onMessage($client_id, $data)
{
$result = json_decode($data, true);
switch ($result['type']) {
case 'game':
if (isset($_SESSION['time_start'])) {
return;
}
$count = 60;
$gate = new Gateway();
$_SESSION['time_start'] = $time_id = Timer::add(1, function () use (&$time_id, &$count, &$client_id, &$gate) {
$a = $count--;
//這里可以輸出在控制臺(tái)
print_r($a . PHP_EOL);
//推送用戶不成功
$gate->sendtoCurrentClient($a);
// 運(yùn)行10次后銷毀當(dāng)前定時(shí)器
if ($a < 1) {
Timer::del($time_id);
}
});
break;
default:
Gateway::sendtoCurrentClient("其余功能未開(kāi)放");
break;
}
}
public static function onClose($client_id)
{
if (isset($_SESSION['time_start'])) {
Timer::del($_SESSION['time_start']);
}
}
}
public static function onMessage($client_id, $data)
{
$result = json_decode($data, true);
switch ($result['type']) {
case 'game':
if (isset($_SESSION['time_start'])) {
return;
}
$count = 60;
$_SESSION['time_start'] = $time_id = Timer::add(1, function () use (&$time_id, &$count,$client_id) {
$a = $count--;
// 運(yùn)行10次后銷毀當(dāng)前定時(shí)器
if ($a < 1) {
Timer::del($time_id);
}
//使用sendToClient成功推送
Gateway::sendToClient($client_id, $a);
});
break;
}
}