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

根據(jù)示例的心跳代碼,感覺定時(shí)器觸發(fā)有點(diǎn)問題

chen12315

文檔示例的代碼是用定時(shí)器去獲取心跳包超時(shí)了沒有,但是我加了打印發(fā)現(xiàn)判斷空的這個(gè)一直沒有打印出來。
請問是示例代碼有問題嗎 還是我這個(gè)有問題,

onWorkerStart里面的定時(shí)器代碼

define('HEARTBEAT_TIME', 10);

Timer::add(2, function () use ($db, $ad_worker) {
        $time_now = time();
        foreach ($ad_worker->connections as $connection) {
            // 有可能該connection還沒收到過消息,則lastMessageTime設(shè)置為當(dāng)前時(shí)間
            if (empty($connection->lastMessageTime)) {
                print_r('empty:' . PHP_EOL);
                $connection->lastMessageTime = $time_now;
                continue;
            }
            // 上次通訊時(shí)間間隔大于心跳間隔,則認(rèn)為客戶端已經(jīng)下線,關(guān)閉連接
            if ($time_now - $connection->lastMessageTime > HEARTBEAT_TIME) {
                OffLine($db, $connection);
                print_r('offline:' . $connection->id . PHP_EOL);
                $connection->close();
            }
        }
    });

onMessage里面

 $connection->lastMessageTime = time();
3384 1 0
1個(gè)回答

walkor 打賞

onMessage里面
$connection->lastMessageTime = time();
如果執(zhí)行了,那么
if (empty($connection->lastMessageTime)) {
分支當(dāng)然不會進(jìn)入了...

  • chen12315 2018-07-02

    噢 是這樣的 謝謝,但是我還發(fā)現(xiàn)一個(gè)問題,我客戶端斷開了連接之后,最后也不會跑到if ($time_now - $connection->lastMessageTime > HEARTBEAT_TIME) 這個(gè)if里面 不知道是為什么

  • walkor 2018-07-02

    連接斷開了觸發(fā)onClose時(shí)對應(yīng)的connection會從$ad_worker->connections里刪除

  • chen12315 2018-07-02

    噢噢 就是說刪除了所以沒辦法在循環(huán)里面找到了嗎

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