介绍
OpenIM开发团队花费了2个月时间,加班加点对代码进行了局部重构,优化代码结构,规范代码开发流程,为社区未来深度参与开发打好基础。由于改动较大,涉及大量的测试工作,并且还有打包 发布 等一些琐碎的事情,导致发布延期了十天,在此略表歉意。后续会建立相对完整的开发和发布计划,也邀请各位社区同学参与OpenIM的建设工作。有志于参与OpenIM建设的同学,可以与我私聊,介绍系统架构,并探讨社区开发流程和规范。
由于涉及到数据库字段变化,下载前要先删除app把历史数据全部清理干净
web端体验地址:
http://121.37.25.71:23232/
pc端下载:
https://pan.baidu.com/s/16MW36rKVFtDCBewMOdD0pA 密码: jd15
安卓下载:
https://www.pgyer.com/OpenIM
iOS下载:审核中 稍后更新
新版本有哪些更新
客户端SDK架构重构

WsConn:
ws连接管理器。提供函数供其他方调用,具体包括:
(1)ws连接服务端,和OpenIM服务端保持长连接;
(2)关闭ws连接;
(3)通过ws发送请求;
WsRespAsyn:
ws请求-响应同步器,因为ws是异步处理,需要把请求和响应关联起来,提供函数供其他方调用(消息发送,心跳发送,拉取历史消息等)
(1)getCh:为每个请求生成一个channel和msgIncr,使用map关联起来 msgIncr->channel
(2)notifyResp:对于ws收到的每个响应,通过msgIncr找到channel,并往channel发送响应,通知响应到达;
Ws:
模块对WsConn 和 WsRespAsyn功能进行整合(1)请求响应同步化,提供函数SendReqWaitResp,调用者通过ws发送请求后,等待此请求的响应达到。(2)对于接收到的推送消息,把消息写入PushMsgAndMaxSeqCh channel,触发MsgSync消息同步协程。
具体实现:ReadData协程:接收服务端ws数据,并根据收到的数据类型(心跳、推送、踢出登录、拉取历史消息等),触发不同的逻辑处理,(1)对于主动发送请求的响应,则调用WsRespAsyn的notifyResp响应触发接口;(2)对于push消息,写入PushMsgAndMa

OpenIM团队近期完成了代码重构,优化了开发流程,提升了系统性能。新版本包括客户端SDK架构调整,Ws模块同步化处理,消息同步器优化,以及数据库字段规范化。此外,通知机制得到完善,实现了多端同步,开发流程更加规范。未来将推动社区深度参与开发,同时提供商业授权选项。
最低0.47元/天 解锁文章
1918

被折叠的 条评论
为什么被折叠?



