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

請問下面這個定時器如何改成普通函數(shù)的形式?

小七他哥

代碼如下,是workerStart下的定時器:

// 進程啟動后設置一個每30秒運行一次的定時器,定時關閉不發(fā)送心跳包的鏈接以及沒有sid屬性的鏈接
Timer::add(30, 'cleanWorkerInvalidConnection', [$worker]);
function cleanWorkerInvalidConnection(&$worker) {
    $time_now = time();

    if (!$worker || empty($worker->connections)) {
        return;
    }

    foreach ($worker->connections as &$connection) {
        if (empty($connection->sid)) {
            $connection->close_reason = 'ip=' . $connection->getRemoteIp() . '的用戶連接sid屬性值為空';
            $connection->close("\r\n");
            continue;
        }
        // 有可能該connection還沒收到過消息,則lastMessageTime設置為當前時間
        if (empty($connection->lastMessageTime)) {
            $connection->lastMessageTime = $time_now;
            continue;
        }
        // 上次通訊時間間隔大于心跳間隔,則認為客戶端已經(jīng)下線,關閉連接
        if ($time_now - $connection->lastMessageTime > HEARTBEAT_TIME) {
            if (isset($GLOBALS['worker_id_connection_id_sid_list'][getConnectionUniqueId($connection)])) {
                $connection->close_reason = 'sid=' . $GLOBALS['worker_id_connection_id_sid_list'][getConnectionUniqueId($connection)] . '的用戶超時未發(fā)心跳包';
            } else {
                $connection->close_reason = 'sid=未知的用戶超時未發(fā)心跳包';
            }

            $connection->close("\r\n");
        }
    }
}

現(xiàn)在服務器啟動后,代碼定時報錯:

Warning: Parameter 1 to cleanWorkerInvalidConnection() expected to be a reference, value given in /home/www/diary/workerManApi/Workerman/Events/Select.php on line 232

請問這里該怎么改呢?

這里我如果改成非引用傳參的形式,會不會起不到應有的作用呢?

1670 1 0
1個回答

phpcreeper

function cleanWorkerInvalidConnection(&$worker)
改成
function cleanWorkerInvalidConnection($worker)

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