群聊的发起与通知
这小节,我们来学习一下如何创建一个群聊,并通知到群聊中的各位成员
我们依然是先来看一下最终的效果是什么样的。
1. 最终效果
服务端
创建群聊的客户端
其他客户端
- 首先,依然是三位用户依次登录到服务器,分别是闪电侠、极速、萨维塔。
- 然后,我们在闪电侠的控制台输入
createGroup
指令,提示创建群聊需要输入 userId 列表,然后我们输入以英文逗号分隔的 userId。 - 群聊创建成功之后,分别在服务端和三个客户端弹出提示消息,包括群的 ID 以及群里各位用户的昵称。
2. 群聊原理
群聊的原理我们在 仿微信 IM 系统简介 已经学习过,我们再来重温一下
群聊指的是一个组内多个用户之间的聊天,一个用户发到群组的消息会被组内任何一个成员接收,下面我们来看一下群聊的基本流程。
如上图,要实现群聊,其实和单聊类似
- A,B,C 依然会经历登录流程,服务端保存用户标识对应的 TCP 连接
- A 发起群聊的时候,将 A,B,C 的标识发送至服务端,服务端拿到之后建立一个群聊 ID,然后把这个 ID 与 A,B,C 的标识绑定
- 群聊里面任意一方在群里聊天的时候&#