欢迎光临散文网 会员登陆 & 注册

如何从零搭建一个消息通讯模块,只需几招就可以了,非常受用。

2020-11-02 21:54 作者:小明哥会飞  | 我要投稿

牛刀平台的消息通讯设计思路

想做好一个完整的即时通讯模块可没那么容易,需要充分的思考数据的存储,在线用户数据的推送,离线用户的数据保留,新数据、未查看数据的设计。以及一对一聊天时,数据的即时呈现。这需要非常深度的思考才能做好。我再这里先把基本的思路写了吧,今后有机会在录制视频讲一讲大家就明白了。

功能效果:

我想,效果才能吸引人,没效果都是耍流氓。

数据库设计

数据库核心是消息存储表,其中至少要有:生产者、消费者、消息、查看状态。

再一个,如果用户相互聊天,需要保留聊天好友记录。第三,允许用户自己设置订阅,比如有些内容平台发了,但是我不喜欢这里消息,这需要允许用户设置的,也就是消息主题的定制。所以也需要设置相关的数据库表进行存储、设置。下面是四张表:

功能设计思路

以下是在本子上画的,这是初稿,整个开发过程基本围绕这个思路,变化不大。

简单解释一下:

1)离线数据未读消息:数据从vuex状态来,在页面被加载时主动去得到(也就是当你不在的时候,消息没法发给你,给你放数据库了,但是状态是未读的);

2)在线未读消息:只要后台有数据,后台把数据发送给消息代理,同时保留一份到数据库。前端自动就和消息代理获得联系,把数据实时的呈现出来(如:3个未读消息,或者一个未读列表);

3)在线实时获取数据:一对一聊天:两人同时在线时,聊天时数据实时呈现,同样注意离线数据的存储。


ok,今天就介绍到这里,这里我写了一篇详细的文章,里面讲技术选型、代码,比较详细。

可以到这里来看:http://niudao.cn/blogs/14


如何从零搭建一个消息通讯模块,只需几招就可以了,非常受用。的评论 (共 条)

分享到微博请遵守国家法律