平台架构与模块边界
以桌面客户端、中心服务与独立启动器为三条运行主线,说明各模块的启动入口、对象所有权和协议衔接方式。
mainMainWindow::MainWindowClientLogic::ClientLogicNetworkServer::NetworkServer章节之间保持统一导航,可从产品介绍、技术架构或任意函数页面快速切换。
以桌面客户端、中心服务与独立启动器为三条运行主线,说明各模块的启动入口、对象所有权和协议衔接方式。
mainMainWindow::MainWindowClientLogic::ClientLogicNetworkServer::NetworkServer围绕登录请求、token/session_id 注入、单账号会话覆盖与心跳保活,形成统一认证基线。
ClientLogic::makeAuthedRequestClientLogic::requestLoginClientLogic::startHeartbeatNetworkServer::createLoginSessionForUser采用 UDP 承载轻量业务与实时媒体,TCP 承载文件数据,通过独立通道满足低延迟与可靠传输两类需求。
NetworkManager::sendJsonNetworkManager::processPendingDatagramsNetworkServer::initUdpServerTcpFileUploader::startUpload通过 cmd 字段统一描述业务意图,客户端请求层、网络层和服务端处理层围绕标准 JSON 协议协同。
ClientLogic::requestForceRefreshCoreDataNetworkServer::startBusinessHandler::dispatchTaskNetworkServer::sendDataMainWindow 负责全局入口,业务子窗口按用户、群组和通话对象唯一化管理,统一处理关闭、退出和资源回收。
MainWindow::bindLogicSignalsMainWindow::openOrActivateChatWindowMainWindow::openOrActivateCallWindowMainWindow::openOrActivateGroupChatWindowMySQL 承担关系型长期数据,Redis 承担高频会话与最近消息,DBManager 作为统一访问边界。
DBManager::initDBManager::verifyLoginDBManager::saveChatMessageDBManager::getChatHistory有界线程池负责业务并发,MySQL/Redis 连接池负责连接复用与健康检查,形成可控资源模型。
ThreadPool::tryEnqueueThreadPool::workerLoopMySQLConnectionPool::initMySQLConnectionPool::acquireCallWindow 编排通话状态,VoiceCallManager 与 VideoCallManager 管理设备采集和播放,中心服务按 call_id 中继媒体数据。
CallWindow::startVoiceSessionVoiceCallManager::startVoiceCallManager::onRemoteAudioReceivedCallWindow::startVideoSession统一消息界面承载文本、图片、附件与游戏邀请,服务端分别完成关系校验、持久化、实时推送和房间创建。
ChatWindow::sendTextMessageChatWindow::chooseAndUploadFileGroupChatWindow::sendGroupFileBusinessHandler::handleGroupChatLauncher 支持本地镜像、配置和容器生命周期管理,中心服务提供云端实例分配、端口管理和存档回收。
CustomGameLobbyWindow::startLocalDockerServerLocalDockerHostManager::startGameServerCustomGameImageManager::loadImageFromTarCloudFactorioWindow::sendControlRequest每个条目列出原型、参数、返回值、调用时机和执行步骤,形成稳定的维护入口。
函数条目由当前工程源码生成,页面显示重点文件与源代码行区间。
从 Qt 交互层到 C++ 中心服务、MySQL/Redis 与 Docker 实例管理形成连续阅读路径。