第二篇 接入层:长连接与房间
第一篇把需求、选型、技术栈对齐后,本篇正式搭接入层——白板「画得动」的地基。接入层解决四件事:连接怎么建、房间怎么管、事件怎么传、断了怎么补。四件事环环相扣:连接是载体,房间是容器,协议是语言,重连是兜底。本篇讲清楚这套骨架,第三篇才会在这个骨架上填「笔」和「冲突合并」。
本篇脉络
| 节 | 主题 | 要解决的问题 |
|---|---|---|
| 2.1 | 连接管理 | 长连接怎么建、心跳怎么喂 |
| 2.2 | 房间模型 | 加入、离开、广播扇出 |
| 2.3 | 数据协议 | 操作事件的统一格式 |
| 2.4 | 断线重连 | 状态补齐、防抖 |
为什么这四件事是一体的
连接、房间、协议、重连,表面是四块,实则是「事件到达 → 找到房间 → 用协议描述 → 推给他人 → 断了再补」这一条链路。任何一块漏掉,链就断:没心跳连接被网关静默掐;没房间模型事件不知道推给谁;没协议客户端各自编码互相看不懂;没重连补数据,断一下房间就漂了。本篇按链路顺序讲。
接入层的三条验收线
| 验收 | 含义 | 对应章节 |
|---|---|---|
| 连接稳定 | 长时间不挂、静默掉线可发现 | 2.1 心跳 |
| 房间正确 | 进出、广播无遗漏 | 2.2 房间 |
| 状态可恢复 | 断线重连后数据能补齐 | 2.4 重连 |
协议(2.3)是这三条的公共语言,写完本篇,白板就已经「画得动、连得上、断了能救」,剩下第三篇是「画得对、画得并」。
