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

$gateway->router偶現(xiàn)取不到值的情況,導(dǎo)致服務(wù)異常退出

IT小馬

問(wèn)題描述

$gateway->router偶現(xiàn)取不到值的情況,導(dǎo)致服務(wù)異常退出

程序代碼

//指定 WebsocketBusinessWorker
        $gateway->router = function ($worker_connections, $client_connection) {
            $connection_names = [];
            foreach ($worker_connections as $key => $worker_connection) {
                $values = explode(':', $key);
                if ($values[1] == 'WebsocketBusinessWorker') {
                    $connection_names[$values[2]] = $key;
                }
            }
            if (!count($connection_names)) {
                return null;
            }
            $key = $connection_names[mt_rand(0, count($connection_names) - 1)];
            empty($client_connection->businessworker_address) && $client_connection->businessworker_address = $key;
            return $worker_connections[$client_connection->businessworker_address];
        };

截圖報(bào)錯(cuò)信息里報(bào)錯(cuò)文件相關(guān)代碼

截圖

912 1 0
1個(gè)回答

walkor 打賞

找不到值是因?yàn)閎usinessWorker和gateway沒(méi)建立起連接,例如服剛啟動(dòng)時(shí),例如業(yè)務(wù)報(bào)錯(cuò)導(dǎo)致businessWorker退出重啟時(shí),一般都是短暫的。如果沒(méi)有可用的businessWorker進(jìn)程,應(yīng)該返回false,不要返回null

if (!count($connection_names)) {
    return null;
}

改成

if (!count($connection_names)) {
    return false;
}
  • IT小馬 2023-03-15

    請(qǐng)問(wèn)返回false就不會(huì)調(diào)用$worker_connection->send($gateway_data)方法了么?如果還會(huì)調(diào)的話,那還是會(huì)報(bào)錯(cuò)啊

  • walkor 2023-03-15

    返回false不會(huì)調(diào)用send

  • IT小馬 2023-03-15

    好的,感謝

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