$timer = new Timer();
//判斷是否存在定時器如存在刪除上一個定時器
if($hotel_price) $timer->del($hotel_price);
$hotel_price = $timer->add('2',function()use($connection,$data){
$connection->send('{"type":"login","msg":"測試測試"}');
});
if($hotel_price) $timer->del($hotel_price);
$hotel_price哪里來的變量?這時候$hotel_price還沒定義呢。
改成
if (isset($connection->hotel_price)) {
Timer::del($connection->hotel_price);
}
$connection->hotel_price = Timer::add('2',function()use($connection,$data){
$connection->send('{"type":"login","msg":"測試測試"}');
});
把定時器id存在connection對象的屬性里,這樣就可以知道每個連接的定時器id,就可以刪除了。
另外定時器是靜態(tài)類,按照手冊應該是靜態(tài)調用,用法是 Timer::add()
Timer::del()