第二篇 接入层:长连接与房间

第一篇把需求、选型、技术栈对齐后,本篇正式搭接入层——白板「画得动」的地基。接入层解决四件事:连接怎么建、房间怎么管、事件怎么传、断了怎么补。四件事环环相扣:连接是载体,房间是容器,协议是语言,重连是兜底。本篇讲清楚这套骨架,第三篇才会在这个骨架上填「笔」和「冲突合并」。

本篇脉络

节 主题 要解决的问题
2.1 连接管理 长连接怎么建、心跳怎么喂
2.2 房间模型 加入、离开、广播扇出
2.3 数据协议 操作事件的统一格式
2.4 断线重连 状态补齐、防抖

为什么这四件事是一体的

连接、房间、协议、重连,表面是四块,实则是「事件到达 → 找到房间 → 用协议描述 → 推给他人 → 断了再补」这一条链路。任何一块漏掉,链就断:没心跳连接被网关静默掐;没房间模型事件不知道推给谁;没协议客户端各自编码互相看不懂;没重连补数据,断一下房间就漂了。本篇按链路顺序讲。

接入层的三条验收线

验收 含义 对应章节
连接稳定 长时间不挂、静默掉线可发现 2.1 心跳
房间正确 进出、广播无遗漏 2.2 房间
状态可恢复 断线重连后数据能补齐 2.4 重连

协议(2.3)是这三条的公共语言,写完本篇,白板就已经「画得动、连得上、断了能救」,剩下第三篇是「画得对、画得并」。

延伸阅读