IM即时通讯App--笔记
皮卡丘太肥,餐餐吃吃吃
不重复创造轮子,不代表可以不去深入了解这些轮子
展开
-
IM实现-定义消息体
参考的是网易云信的设计IMMessage它这个类是个接口,至于具体实现类,当然反编译了,无法查看,不过我大致推测其中的实现类。为啥要参考其实现,我认为好的实体设计是必要的,会减少很多后面修改。定义Message你也可以把Message再抽象一层,仿照IMMessage设计,我这里给出实现定义。注意关注点在MsgBody定义上/** * 消息实体 */class Message { var uuid: String? = null var msgId: String? =原创 2020-08-14 14:30:40 · 762 阅读 · 1 评论 -
IM数据库模型设计
以TB_USER为例,对应的数据模型如下。其中要明白uuid的概念import org.hibernate.annotations.*;import javax.persistence.CascadeType;import javax.persistence.*;import javax.persistence.Entity;import javax.persistence.T...原创 2019-12-29 11:47:13 · 1795 阅读 · 0 评论 -
IM客户端准备
服务器:Service负责接收和回送请求,部分逻辑;Factory负责数据库操作;Model数据库建模和API请求与返回。客户端:app:主要的界面实现;common:公共的基础类;lang:项目语言包;factory:项目的逻辑实现(包括契约、实现、网络、逻辑处理、缓存、数据库操作)...原创 2019-12-29 11:40:14 · 162 阅读 · 0 评论 -
IM 四大协议
四大协议(概述)IMPP(Instant Messaging And PresenceProtocol):即时信息和空间协议。XMPP(Extensible Messaging and Presence Protocol):可扩展消息与存在协议。特点xml语言(理解其缺点优点)SIP(Session Initialion Protocol):回话发起协议SIMPLE(SIP for I...原创 2019-09-13 12:41:30 · 1809 阅读 · 1 评论 -
IM前准备--第三方平台准备
上篇市面上的推送平台的优缺点友盟、个推、极光、信鸽……代码要注意如何做到可拓展性,就是以后如果有一天某个原因换了另外一个平台如何快速的过渡笔者亲自实战一篇友盟平台todo发表存储平台七牛:老平台阿里OSS:足够稳定,价格适中,API简单百度通讯注意不要存机密的...原创 2019-09-13 12:58:35 · 307 阅读 · 0 评论