← 返回目录

第 21 卷

第 21 / 21 卷日期:

  • 用户登录:客户端连接成功后发送登录消息,服务端记录“连接-用户名”映射,广播上线通知;

• 消息转发:服务端收到客户端聊天消息后,通过 broadcast 函数转发给所有在线客户端,实现群

聊;

  • 状态同步:用户上线/下线时,服务端广播系统通知并同步在线用户列表,前端实时渲染。
  1. 生产环境拓展优化(面试拓展)
  2. 添加心跳与断线重连:避免僵死连接,提升稳定性(参考第31题实现);
  3. 使用 wss:// 加密传输:防止消息被窃听,生产环境必须启用;
  4. 用户身份认证:替换简单的prompt登录,结合后端接口实现账号密码登录,服务端验证身份;
  5. 消息持久化:将聊天消息存入数据库(如MySQL、MongoDB),支持历史消息查询;
  6. 单聊功能:扩展服务端逻辑,支持指定用户发送消息(通过用户名匹配客户端连接);
  7. 限流与防恶意攻击:限制客户端发送消息频率,避免刷屏;
  8. 前端体验优化:添加消息气泡样式、未读消息提示、表情发送等。

✅ 核心总结

使用WebSocket API实现聊天应用的核心是“前端建立连接并处理消息交互,服务端维护连接状态并转发消息”。通过前后端约定统一的消息格式(如 type 字段区分消息类型),可清晰拆分登录、聊

天、系统通知等功能;服务端的 broadcast 广播函数是实现群聊的关键。该方案可快速实现基础实时聊天功能,生产环境需补充稳定性、安全性和体验优化措施。

(注:文档部分内容可能由 AI 生成)

全站分卷索引 · 21 卷
  1. 1第 1 卷
  2. 2第 2 卷
  3. 3第 3 卷
  4. 4第 4 卷
  5. 5第 5 卷
  6. 6第 6 卷
  7. 7第 7 卷
  8. 8第 8 卷
  9. 9第 9 卷
  10. 10第 10 卷
  11. 11第 11 卷
  12. 12第 12 卷
  13. 13第 13 卷
  14. 14第 14 卷
  15. 15第 15 卷
  16. 16第 16 卷
  17. 17第 17 卷
  18. 18第 18 卷
  19. 19第 19 卷
  20. 20第 20 卷
  21. 21第 21 卷