鍍金池/ 問答/PHP  iOS/ swoole做websocket服務器從mysql初始化數據

swoole做websocket服務器從mysql初始化數據

現在在學習用swoole做一個websocket的聊天服務器,我希望在服務器初始化的時候能夠從mysql數據庫中拉取一些諸如好友信息,群組信息的數據保存到swoole的table中去。想問一下這個拉取數據的過程如何實現,是在哪個回調函數中做。

回答
編輯回答
菊外人

connect,用戶連接上之后就去數據庫查詢好友相關的信息返回給用戶

2018年3月14日 18:33
編輯回答
嘟尛嘴
$process = new swoole_process(function (swoole_process $process) {
    $db = new swoole_mysql;

    $db->connect($this->mysqlConf, function ($db, $r) {
        if ($r === false) {
            var_dump($db->connect_errno, $db->connect_error);
            die;
        }
        $sql = "xxxxxxx";
        $db->query($sql, function(swoole_mysql $db, $r) {
            if ($r === false){
                var_dump($db->error, $db->errno);
            }
            elseif ($r === true ){
                var_dump($db->affected_rows, $db->insert_id);
            }
            var_dump($r);
            $db->close();
            
            foreach($r as $index=>$value){
                $this->groupTable->set($value['groupId'], ['userIds'=>json_encode(explode(',', $value['members']))]);
            }
            
            echo "data loaded\n\n";
        });
    });
});

$process->start();

echo "initial success\n\n";

$this->server->start();
2018年3月21日 17:13