Engineering Reference

P2P Platform 工程实现白皮书

从产品能力进入真实实现,以十个工程领域组织客户端、中心服务、数据访问、实时媒体、组件交付与容器化托管的核心函数。每一章提供函数原型、参数、调用时机、执行流程、关联接口和完整实现。

10 个工程领域60 个核心函数PC / 移动端自适应

核心实现目录

章节之间保持统一导航,可从产品介绍、技术架构或任意函数页面快速切换。

01
Platform Architecture & Module Boundaries

平台架构与模块边界

以桌面客户端、中心服务与独立启动器为三条运行主线,说明各模块的启动入口、对象所有权和协议衔接方式。

mainMainWindow::MainWindowClientLogic::ClientLogicNetworkServer::NetworkServer
进入实现手册
02
Identity, Session & Heartbeat

身份认证与会话安全

围绕登录请求、token/session_id 注入、单账号会话覆盖与心跳保活,形成统一认证基线。

ClientLogic::makeAuthedRequestClientLogic::requestLoginClientLogic::startHeartbeatNetworkServer::createLoginSessionForUser
进入实现手册
03
UDP Signaling & TCP File Transport

实时通信与文件通道

采用 UDP 承载轻量业务与实时媒体,TCP 承载文件数据,通过独立通道满足低延迟与可靠传输两类需求。

NetworkManager::sendJsonNetworkManager::processPendingDatagramsNetworkServer::initUdpServerTcpFileUploader::startUpload
进入实现手册
04
Command Routing & Response Flow

业务协议与命令分发

通过 cmd 字段统一描述业务意图,客户端请求层、网络层和服务端处理层围绕标准 JSON 协议协同。

ClientLogic::requestForceRefreshCoreDataNetworkServer::startBusinessHandler::dispatchTaskNetworkServer::sendData
进入实现手册
05
Qt Window Lifecycle & Signal Governance

客户端交互与窗口治理

MainWindow 负责全局入口,业务子窗口按用户、群组和通话对象唯一化管理,统一处理关闭、退出和资源回收。

MainWindow::bindLogicSignalsMainWindow::openOrActivateChatWindowMainWindow::openOrActivateCallWindowMainWindow::openOrActivateGroupChatWindow
进入实现手册
06
MySQL Persistence & Redis Cache

数据持久化与高速缓存

MySQL 承担关系型长期数据,Redis 承担高频会话与最近消息,DBManager 作为统一访问边界。

DBManager::initDBManager::verifyLoginDBManager::saveChatMessageDBManager::getChatHistory
进入实现手册
07
Thread Pool & Connection Pooling

并发调度与资源池化

有界线程池负责业务并发,MySQL/Redis 连接池负责连接复用与健康检查,形成可控资源模型。

ThreadPool::tryEnqueueThreadPool::workerLoopMySQLConnectionPool::initMySQLConnectionPool::acquire
进入实现手册
08
Voice & Video Relay Pipeline

音视频通信链路

CallWindow 编排通话状态,VoiceCallManager 与 VideoCallManager 管理设备采集和播放,中心服务按 call_id 中继媒体数据。

CallWindow::startVoiceSessionVoiceCallManager::startVoiceCallManager::onRemoteAudioReceivedCallWindow::startVideoSession
进入实现手册
09
Messaging, Files & Game Invitations

消息资产与游戏房间

统一消息界面承载文本、图片、附件与游戏邀请,服务端分别完成关系校验、持久化、实时推送和房间创建。

ChatWindow::sendTextMessageChatWindow::chooseAndUploadFileGroupChatWindow::sendGroupFileBusinessHandler::handleGroupChat
进入实现手册
10
Local Hosting & Cloud Orchestration

容器化游戏服务

Launcher 支持本地镜像、配置和容器生命周期管理,中心服务提供云端实例分配、端口管理和存档回收。

CustomGameLobbyWindow::startLocalDockerServerLocalDockerHostManager::startGameServerCustomGameImageManager::loadImageFromTarCloudFactorioWindow::sendControlRequest
进入实现手册

函数级说明

每个条目列出原型、参数、返回值、调用时机和执行步骤,形成稳定的维护入口。

真实源码依据

函数条目由当前工程源码生成,页面显示重点文件与源代码行区间。

跨模块导航

从 Qt 交互层到 C++ 中心服务、MySQL/Redis 与 Docker 实例管理形成连续阅读路径。