全栈开发
后端基础
【Q029】websocket 如何向特定的用户组推送消息

websocket 如何向特定的用户组推送消息

更多描述 假如一个学校有以下数据结构

  1. Class: 代表班级
  2. Student: 代表学生,每个学生都在其中一个班级

那假如要向 Class:201901 班级的所有学生发送通知,应该如何实现

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 30 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

redis 处维护一个对象,记录每个 group 所对应的 connections/sockets

{
  'Class:201901': [student1Socket, student2Socket]
}

当 client 刚连入 server 时,便加入某个特定的组,或者叫 room,比如 student01,刚开始连入 server,可能要加入 room:Student:01Class:201901Group:10086