Windows 跨网段远程控制与设备管理平台(Qt 客户端 + WebRTC 信令 + 账号后台)产品系统Vibe Coding

我要开发同款
FlyZebra2026年10月12日
5阅读

技术信息

语言技术
C++、C#、Nginx、QT、.Net
系统类型
Windows、Linux、Web
行业分类
企业服务、工业互联网

作品详情

行业场景

远程办公与 IT 运维场景下,中小团队和个人普遍依赖第三方远程桌面工具做异地设备维护与远程协助,但存在数据出境、席位按年计费、内网设备必须装第三方客户端、中继带宽受制于人等问题。本项目立项自研一套自主可控的 Windows 远程控制与设备管理平台:用户登录后把自己名下的多台电脑加入同一账号,任意两台之间即可互相远程控制;画面优先走 P2P 直连,跨网段无法直连时自动回落到自建 TURN 中继;同时提供账号、设备绑定、被控连接记录、在线升级与 Web 管理后台,整套服务支持私有化 Docker 部署,可交付给对数据安全与自主可控有要求的行业客户。

功能介绍

客户端(C++/Qt,被控端与主控端双角色):账号登录与设备列表、被控端常驻服务、主控端远程画面窗口;屏幕采集(DXGI 优先、GDI 兜底)、H.264/H.265 硬件编码、WebRTC DataChannel 分片传输、控制端解码显示与全屏/多屏交互;键鼠输入采集与注入;剪贴板文本、文件、文件夹双向同步与断点续传;被控端声音回环采集与主控端播放(安全开关默认关闭);隐私屏遮挡整块显示器(含任务栏);被控连接记录本地留存与分页查询。
服务端:C++ WebSocket 信令服务负责设备注册、在线状态与设备清单下发;.NET 8 + MySQL 的 WebApi 提供登录与令牌续期、设备绑定、会话日志、ICE 服务器配置下发、升级包与发布渠道管理。
Web 管理后台(Vue 3 + Element Plus):设备与账号总览、会话日志检索、STUN/TURN 配置、版本发布与撤回。
运维:Docker Compose 一键部署(WebApi / 信令 / 后台 / coturn)、Nginx TLS 与自签 CA、客户端在线升级(按需增量下载、哈希校验、就地原子替换)。

项目实现

本人负责本项目的全部设计与编码:整体架构、Windows 客户端、信令服务、账号后台、管理前端、部署与自动化测试。开发采用 AI 辅助的 Vibe Coding 工作流:先用设计文档锁定模块边界与协议,再由 AI 结对产出代码,改动强制回归注释与文档一致性并跑分项自动化测试。
技术栈:客户端 C++17 + Qt 6.8 + libdatachannel(WebRTC) + FFmpeg(H.264/H.265/AAC) + DXGI/GDI + WASAPI + libyuv + SQLite;信令 C++17 + standalone Asio + websocketpp;后台 .NET 8 + MySQL + JWT;管理前端 Vue 3 + TypeScript + Element Plus + Vite;部署 Docker Compose + Nginx + coturn。
架构亮点:客户端拆成守护服务、核心进程、界面进程三层,前两者以 SYSTEM 运行、界面进程留在用户会话,三层通过自定义二进制 IPC 帧通信,界面崩溃不影响正在进行的远控会话;屏幕采集做成后端门面,DXGI 失败自动切 GDI;采集与编码都在被控端完成,只把压缩帧经 DataChannel 传出,控制端不解码、只重组。
难点:一是直连率,底层 ICE 库只支持单台 STUN,我实现多出口探测,把多个出口 IP 一次性报给对端注入候选,直连成功记录回写服务端形成出口记忆;二是系统进程读不到剪贴板数据对象,于是把读板落板放到用户会话的界面进程,由核心进程编排同步与缓存续传;三是升级原子性与可重入,增量包内容寻址、按哈希补齐缺件、逐文件改名替换、失败可重跑;四是可维护性,用 16 份设计文档和约 1.1 万行分项自动化测试守住回归,累计 450 余次提交、约 7 万行代码。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论