- README.md / README.txt 新增初次部署章节:前置条件(JDK 17 / SDK 34 / Gradle 8.9)、 获取代码与本地配置(local.properties 不入仓)、Debug/Release 构建、装到手机与相机权限、 连接配置(只连 Windows 客户端,默认 8765 / /pose)、第一次跑通、自检清单、常见问题 - 单测数量按实际(30 项)修正 - 三库同源契约:':=' 写法修回、去掉真实 MariaDB 版本串 - 全文去除易被 Gitea 判为「模棱两可 Unicode」的字符 - 本机 JDK 路径与内网示例地址改占位符 / RFC 5737 文档网段
48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# T-AND-006 连接页 + 主机发现
|
||
|
||
- **状态**:done
|
||
- **依赖**:T-AND-005
|
||
|
||
## 目标
|
||
|
||
让用户快速找到并连上 Windows 客户端,无需手输 IP。
|
||
|
||
## load
|
||
|
||
```
|
||
DSH.md
|
||
app/src/main/java/com/opendance/studio/ui/ConnectScreen.kt
|
||
app/src/main/java/com/opendance/studio/net/HostDiscovery.kt
|
||
```
|
||
|
||
## 交付物
|
||
|
||
- `ui/ConnectScreen.kt`:地址输入、扫描、测试连接、推流参数
|
||
- `net/HostDiscovery.kt`:局域网扫描
|
||
|
||
## 主机发现策略
|
||
|
||
Windows 客户端是**裸 WebSocket 服务端**(不是 HTTP 服务),无法靠扫描
|
||
HTTP 端点发现。因此:
|
||
|
||
1. 取手机在 WiFi 网的 IPv4 地址(排除 `rmnet*` 蜂窝网卡与 `169.254.*` 链路本地地址)
|
||
2. 推导 `/24` 网段
|
||
3. 并发 TCP 探测 `<局域网网段>.1-254:8765`(并发 32、单机超时 300ms)
|
||
4. 以 `Flow` 形式边扫边产出,按延迟升序展示--最快响应的最可能是目标机
|
||
|
||
整段扫描约 2~3 秒。
|
||
|
||
## 可配置项
|
||
|
||
| 项 | 说明 |
|
||
|--|--|
|
||
| IP / 端口 | 默认 8765,与契约一致 |
|
||
| 分辨率 | 480×360 / 640×480 / 1280×720 |
|
||
| 目标帧率 | 写入 hello 的 targetFps |
|
||
| 镜像画面 | 写入 flags.bit0 |
|
||
| 仅上半身模式 | 写入 flags.bit2 |
|
||
|
||
## 验收
|
||
|
||
`assembleDebug` 通过;连接页可编辑参数并持久化(SharedPreferences)。
|