搭建代码框架并更新文档

This commit is contained in:
huanglinhuan
2025-12-11 22:58:25 +08:00
parent 38d519c220
commit 96fecf3c6f
93 changed files with 4924 additions and 10 deletions

View File

@@ -29,16 +29,21 @@
- **受益**:应用场景极大丰富,从简单的副屏扩展到复杂的多设备协作演示、双向画板等。
### 2.3 连接通用:支持RNDIS、WiFi、以太网等多种连接方式
### 2.3 连接通用:支持局域网和互联网连接
- **网络抽象层Network Agnostic**:设计统一的网络接口,自动选择或同时管理多种物理连接。
- **USB RNDIS**优先使用,提供近似有线的高带宽、低延迟体验。
- **Wi-Fi 局域网**:提供无线便利性,支持一对多广播
- **有线以太网**:为台式机等设备提供稳定连接
- **网络抽象层Network Agnostic**:设计统一的网络接口,自动选择或同时管理多种连接方式
- **局域网连接**优先使用
- **USB RNDIS**:优先使用,提供近似有线的高带宽、低延迟体验
- **Wi-Fi 局域网**:提供无线便利性,支持一对多广播
- **有线以太网**:为台式机等设备提供稳定连接。
- **互联网连接**(通过 NAT 穿透):
- **STUN**NAT 类型检测和公网 IP 发现,支持公网直连。
- **TURN**:中继服务器支持,当直连失败时自动切换。
- **ICE 协议**:自动选择最佳连接路径(局域网 > 公网直连 > TURN 中继)。
- **技术实现**NetworkManager负责探测可用连接根据性能延迟、带宽自动优选或负载均衡。应用层无需关心底层是USB虚拟网卡还是真实网卡
- **技术实现**NetworkManager负责探测可用连接根据性能延迟、带宽自动优选或负载均衡。集成 ICE 协议实现 NAT 穿透,支持局域网和互联网无缝切换。应用层无需关心底层连接方式
- **受益**:用户无需手动配置网络,系统自动选择最佳路径,并提供从有线到无线的无缝切换能力
- **受益**:用户无需手动配置网络,系统自动选择最佳路径。支持跨网络、跨地域的设备连接,突破局域网限制,实现真正的远程协作
### 2.4 扩展性强:轻松支持新设备类型与未来场景
@@ -64,7 +69,7 @@
|
[ 核心层 (Core Layer) ] <- 会话管理、协议、编解码、网络抽象 (100%跨平台)
|
[ 传输层 (Transport Layer) ] <- RNDIS (USB)、Wi-Fi、以太网
[ 传输层 (Transport Layer) ] <- 局域网(RNDIS/USB、Wi-Fi、以太网、互联网STUN/TURN/ICE
```
### 3.2 核心模块说明
@@ -73,7 +78,7 @@
- **会话管理**:创建、维护、销毁显示会话,支持一对多。
- **通用协议**基于Google FlatBuffers的跨平台序列化定义视频帧、输入事件等。
- **编解码器**支持H.264(硬件加速)/VP8软件/MJPEG等多种编解码器自适应选择。
- **网络抽象**统一管理RNDIS、WiFi等连接提供可靠UDP传输。
- **网络抽象**统一管理RNDIS、WiFi等局域网连接以及STUN/TURN/ICE互联网连接提供可靠UDP传输。
2. **平台适配层Platforms**:各平台特有功能的薄封装。
- **Android**通过MediaProjection捕获屏幕ImageReader获取帧处理触摸输入。
@@ -110,6 +115,13 @@
- **角色**安卓手机作为主机Host安卓平板作为客户端Client
- **价值**充分发挥设备特性。用户可在手机上进行私密操作如游戏、使用特定APP而将主画面投送至平板大屏上进行展示或共享兼顾隐私与分享需求。这充分体现了角色的灵活性——安卓设备可根据需求自由扮演主机或客户端的角色。
**场景五:远程协作(跨网络、跨地域)**
- **描述**:用户在家中通过互联网连接到办公室的 Windows 电脑,实现远程显示扩展。
- **角色**:办公室 Windows 电脑作为主机Host家中设备作为客户端Client
- **连接方式**:通过 STUN/TURN 服务器实现 NAT 穿透,自动选择最佳连接路径。
- **价值**:突破局域网限制,支持跨网络、跨地域的设备连接。无论设备在哪里,只要有互联网连接,就能实现无缝显示协作。适用于远程办公、技术支持、远程演示等场景。
## 5. 技术规格与指标
- **支持平台**Android 5.0+ Windows 10/11
@@ -130,6 +142,9 @@ DisplayFlow/
└── tools/ # 开发工具脚本
```
## 7. 总结
## 7. 技术栈
完全由C++实现
## 8. 总结
本方案通过真正跨平台的核心设计、动态角色分配和多连接方式抽象,突破了现有副屏方案的局限性。它不仅仅是一个"副屏工具",更是一个为未来多设备协作世界打造的、极具扩展性的通用显示协作平台。该架构确保了项目在性能、灵活性和可持续性上的领先优势。