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

請問大家是如何保存所有鏈接的?json_encode提示Recursion detected

小七他哥

問題描述

使用json_encode格式化保存 $connection變量報錯提示:JSON encode error: Recursion detected

程序代碼或配置

......
if ($request->header('upgrade') === 'websocket') {
        $connection->protocol = Websocket::class;
        Websocket::input($request, $connection);
        if ($sid = $request->get('sid')) {
            $connectionList = WsService::getConnectionList();

            $connection->sid = $sid;
            $connection->num = (isset($connectionList[$sid]) ? count($connectionList[$sid]) : 0) + 1;
            //告訴客戶端當(dāng)前是相同用戶id下的第幾個鏈接
            $connection->send(WsService::getMessage('init', '', ['num' => $connection->num]));

            $connectionList[$sid][$connection->num] = $connection;

            try {
                $json = json_encode($connectionList, JSON_THROW_ON_ERROR);
                $globalDataClient->connectionList = $json;//上面語句返回false,導(dǎo)致這里存的是空
            } catch (JsonException $e) {
                echo 'JSON encode error: ',  $e->getMessage();  // 輸出: JSON encode error: Recursion detected
            }

            echo '<pre>';print_r(WsService::getConnectionList());
        }
        return false;
    }
......

WsServer 的 getConnectionList 方法如下:

public static function getConnectionList() {
        global $globalDataClient;

        $connectionList = $globalDataClient->connectionList;
        return $connectionList ? unserialize($connectionList) : [];
    }

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

ubuntu 系統(tǒng) + workerman 4.1.16 版本

469 1 0
1個回答

walkor 打賞

連接對象不支持序列化

  • 暫無評論
??