实战:客户端互聊原理与实现
之前写过一篇非严肃的微信单聊原理,得到广大网友的一致好评,有很多读者留言问我如何使用 Netty 来具体实现这个逻辑,学完本小节,你会发现其实很简单。
在开始本小节之前,我们先来看一下本小节学完之后,单聊的实现的效果是什么样的?
1. 最终效果
服务端
服务端启动之后,两个客户端陆续登录
客户端 1
客户端 2
-
客户端启动之后,我们在控制台输入用户名,服务端随机分配一个 userId 给客户端,这里我们省去了通过账号密码注册的过程,userId 就在服务端随机生成了,生产环境中可能会持久化在数据库,然后每次通过账号密码去“捞”。
-
当有两个客户端登录成功之后,在控制台输入
userId + 空格 + 消息
,这里的 userId 是消息接收方的标识, 消息接收方的控制台接着就会显示另外一个客户端发来的消息。
一对一单聊的本质其实就这么简单,稍加改动其实就可以用在生产环境下,下面,我们就来一起学习一下如何实现控制台一对一单聊
2. 一对一单聊原理
一对一单聊的原理我们在 仿微信 IM 系统简介 已经学习过,我们再来重温一下