国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman Timer

onwnic

在?onWorkerStart 里面定義了 個全局的? global $_downTimer;
?
然后在 Timer 里面倒計時? 代碼如下

global $_downTimer;
$_downTimer = 60;
$_timer = Timer::add(1, function () use (&$_timer,&$_downTimer) {

    if($_downTimer == 0){
        Timer::del($_timer);
    }else{
        Gateway::sendToGroup(, json_encode());
        --$_downTimer;
    }
});

運行 :php artisan wk start?
然后進入房間后 timer 發(fā)送到客戶端 是正常的 按每秒去遞減,
之后我退出房間 在進去 ,那么問題來了:
Workerman 推送到客戶端的 時間 會每秒打印 60,59,58 一次性可以推送3秒 或者更多過來? ,導致倒計時很快就走完了。
?
?
?

4243 1 0
1個回答

latin

因為開了多個進程啊,比如你開了3個進程,3個進程都定時向客戶端發(fā),那就一次推3個過來了

  • onwnic 2018-10-20

    不是進程問題,我只開了4個進程,我只在0號運行了 ,如果是進程問題,我第一次進來的時候為什么倒計時沒問題,退出一次在進去 就會每秒推8,7,5,4 秒過來,然后再退出再進房間,就會一秒推8,7,6,5,4,3,2,1 感覺是乘以2

  • latin 2018-10-20

    你應該是在onConnect或者其它地方里面也加了定時器吧,你要把代碼都貼出才好定位,一般都是自己業(yè)務代碼問題

年代過于久遠,無法發(fā)表回答
??