swoole做websocket服务器从mysql初始化数据

现在在学习用swoole做一个websocket的聊天服务器,我希望在服务器初始化的时候能够从mysql数据库中拉取一些诸如好友信息,群组信息的数据保存到swoole的table中去。想问一下这个拉取数据的过程如何实现,是在哪个回调函数中做。

阅读 3k
2 个回答
$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();

connect,用户连接上之后就去数据库查询好友相关的信息返回给用户

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题