一、更新内容简介

本次为主要版本更新(本次更新内容见文末“MobileIMSDK v6.0更新内容 ”一节),强势升级,将同时支持TCP、UDP、WebSocket三种协议,精心封装之下,实现同一套API、三种协议同时并存。

可能是市面上唯一同时支持UDP+TCP+WebSocket三种协议的同类开源IM框架。

二、MobileIMSDK简介

MobileIMSDK 是一套专为移动端开发的原创IM通信层框架:

  1. 历经8年、久经考验;
  2. 超轻量级、高度提炼,lib包50KB以内;
  3. 精心封装,一套API同时支持UDP、TCP、WebSocket三种协议(可能是全网唯一开源的);
  4. 客户端支持 iOS、Android、标准Java、H5、小程序(开发中..)、Uniapp(开发中..);
  5. 服务端基于Netty,性能卓越、易于扩展;👈
  6. 可与姊妹工程 MobileIMSDK-Web 无缝互通实现网页端聊天或推送等;👈
  7. 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。
  8. MobileIMSDK工程始于2013年10月,起初用作某产品的即时通讯底层实现,完全从零开发,技术自主可控!

您可能需要:查看关于MobileIMSDK的详细介绍。

三、代码托管同步更新

OsChina.net:

GitHub.com:

四、MobileIMSDK设计目标

让开发者专注于应用逻辑的开发,底层复杂的即时通讯算法交由SDK开发人员,从而解偶即时通讯应用开发的复杂性。

五、MobileIMSDK框架组成

整套MobileIMSDK框架由以下5部分组成:

  1. Android客户端SDK:用于Android版即时通讯客户端,支持Android 2.3及以上,查看API文档;
  2. iOS客户端SDK:用于开发iOS版即时通讯客户端,支持iOS 8.0及以上,查看API文档;
  3. Java客户端SDK:用于开发跨平台的PC端即时通讯客户端,支持Java 1.6及以上,查看API文档;
  4. H5客户端SDK:资料整理中,不日正式发布;
  5. 服务端SDK:用于开发即时通讯服务端,支持Java 1.7及以上版本,查看API文档。

六、MobileIMSDK v6.0更新内容

【重要说明】:
MobileIMSDK v6 为全新版本,新增了对WebSocket协议的优雅支持、多端互踢支持等! 查看详情

【新增重要特性】:

服务端新增WebSocket协议支持,一套API优雅支持TCP、UDP、WebSocket 3种协议;
支持多端互踢功能(可应对复杂的移动端网络变动逻辑对多端互踢算法的影响);

【解决的Bug】:

  1. [Andriod]解决了断线后,fireDisconnectedToServer()方法中的一处空指针隐患;
  2. [iOS] 修复了TCP版代码中,调用[ClientCoreSDK releaseCore]方法会触发自动登陆逻辑的bug;
  3. [服务端] 解决了UDP协议下,重连情况下的被踢者已被服务端注销会话后,客户端才发回登陆响应ACK应答,导致服务端错误地向未被踢者发出已登陆者重复登陆响应的问题;

【其它优化和提升】:

  1. [Andriod]废弃了SDK、Demo代码中的所有AsyncTask的使用;
  2. [Andriod]将所有可使用Lambda表达式的代码全部用Lambda进行了简化。
  3. [iOS] 解决了XCode12上编译SDK的.a包,打包成胖子.a时报“have the same architectures (arm64) and can't be in the same fat output file”的问题;
  4. [iOS] Demo中所有使用过时的UIAlertView改为UIAlertController实现;
  5. [iOS] 解决了iOS端SDK工程中两处因类名重构导致的在XCode12.5.1上编译出错。
  6. [服务端] 将服务端Demo中的Log4j日志框架升级为最新的Log4j2;
  7. [服务端] 服务端可控制是否为每条消息生成发送时间戳(可辅助用于客户端的消息排序逻辑等)。

七、相关链接

MobileIMSDK 的详细介绍:点击查看
MobileIMSDK 的下载地址:点击下载


JackJiang
1.6k 声望808 粉丝

专注即时通讯(IM/推送)技术学习和研究。