$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,就可以删除了。
另外定时器是静态类,按照手册应该是静态调用,用法是 Timer::add() Timer::del()
Timer::add()
Timer::del()
嗯嗯
$hotel_price哪里来的变量?这时候$hotel_price还没定义呢。
改成
把定时器id存在connection对象的属性里,这样就可以知道每个连接的定时器id,就可以删除了。
另外定时器是静态类,按照手册应该是静态调用,用法是
Timer::add()
Timer::del()
嗯嗯