移动端开源 IM 框架 MobileIMSDK v6.0 发布!

来源: 投稿
作者: JackJiang-
2021-07-20

一、更新内容简介

本次为主要版本更新(本次更新内容见文末“MobileIMSDK v6.0更新内容 ”一节),强势升级,将同时支持TCP、UDP、WebSocket三种协议,精心封装之下,实现同一套API、三种协议同时并存。可能是市面上唯一同时支持UDP+TCP+WebSocket三种协议的同类开源IM框架。

二、MobileIMSDK简介

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

  • 历经8年、久经考验;
  • 超轻量级、高度提炼,lib包50KB以内;
  • 精心封装,一套API同时支持UDP、TCP、WebSocket三种协议(可能是全网唯一开源的);
  • 客户端支持 iOSAndroid标准JavaH5小程序(开发中..)、Uniapp(开发中..);
  • 服务端基于Netty,性能卓越、易于扩展;👈
  • 可与姊妹工程 MobileIMSDK-Web 无缝互通实现网页端聊天或推送等;👈
  • 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。

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-Web版为独立工程,如有需要请联系作者。

六、MobileIMSDK v6.0更新内容 

【重要说明】:

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

【新增重要特性】:

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

【解决的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. [服务端] 服务端可控制是否为每条消息生成发送时间戳(可辅助用于客户端的消息排序逻辑等)。
展开阅读全文
29 收藏
分享
加载中
更多评论
0 评论
29 收藏
分享
返回顶部
顶部