最近在梳理websocket的相关延伸, 之前做聊天基本是基于容云等第三方的功能集成进行的,如此虽然快速并降低开发成本,但是相关业务都是存在于第三方的,那么今天抽空做一个自己的聊天工具
一、业务
此次设计的聊天为基础版本, 并发、缓存、消息分库分表等逻辑暂不涉及(梳理中...),
主要包含用户登录信息校验、用户信息拉取、好友信息拉取、历史消息记录拉取、移动端和服务端建立通信、消息推送等部分
二、实现
1、数据库设计:
数据库消息实体基本上包含消息ID、消息内容、消息类型、发送人、接收人、状态、创建时间等
消息表
2、app端实现
app端主要包含登录、拉取用户信息、发送消息、展示消息
app登录获取用户信息
更新设备登录的信息并获取好友信息
app获取用户信息
好友列表
发送消息
app发送消息
接收并解析消息
app接收消息
聊天视图
3、后端实现
后端主要包含处理用户信息、处理用户消息、处理消息推送
极光消息推送到手机
三、总结
单讲业务的话还是比较容易理解的、但是想要做的优秀还需要更多的努力, 做开发就是一个不断进取不断整合不断总结的过程.
优化方向:
1、消息分库分表
2、处理消息并发
3、处理服务端消息缓存
4、处理移动端消息缓存
5、更多消息类型
6、....
7、...
留言与评论(共有 0 条评论) “” |