开源轻量级IM框架MobileIMSDK v3.0发布!
一、更新内容简介
本次更新为主版本更新,更新内容包含了简化了消息发送目标的方式、支持Web版与APP版互通、优化了Protocal协议结构等主要升级,详细更新内容见“版本更新说明”部分。
重要提示:因 MobileIMSDK v3 修改了核心层,已无法与 MobileIMSDK v2.x 兼容,请使用v2.x版的开发者勿贸然升级,如有疑问请发贴讨论!
二、MobileIMSDK简介
MobileIMSDK是一套专为移动端开发的开源即时通讯高可重用框架:
超轻量级、高度提炼,lib包50KB以内;
完全基于UDP协议实现;
客户端支持iOS、Android、标准Java平台;
可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。
MobileIMSDK工程始于2013年10月(2017年06月26日发布了最新版v3.0),起初用作某产品的即时通讯底层实现,完全从零开发。MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。
您可能需要:查看更多关于MobileIMSDK的疑问及解答。
三、代码托管同步更新
代码托管:jackjiang/MobileIMSDK - 码云 - 开源中国
项目资料:点击查看更多资料
代码托管:JackJiang2011/MobileIMSDK
项目资料:点击查看更多资料
四、MobileIMSDK设计目标
让开发者专注于应用逻辑的开发,底层复杂的即时通讯算法交由SDK开发人员,从而解偶即时通讯应用开发的复杂性。
五、MobileIMSDK框架组成
整套MobileIMSDK框架由以下4部分组成:
Android客户端SDK:用于Android版即时通讯客户端,支持Android 2.3及以上,查看API文档;
iOS客户端SDK:用于开发iOS版即时通讯客户端,支持iOS 6.0及以上,查看API文档;
Java客户端SDK:用于开发跨平台的PC端即时通讯客户端,支持Java 1.5及以上,查看API文档;
服务端SDK:用于开发即时通讯服和端,支持Java 1.5及以上版本,查看API文档。
另:MobileIMSDK-Web版为独立工程,如有需要请联系作者。
六、MobileIMSDK v3.0更新内容
【新增重要特性】
[1] 简化了消息发送目标的方式:由原user_id方式改为使用用户名的方式(即取消了每次登陆由服务端生成user_id的方式,从而极大地简化应用层通信的API调用和逻辑代码);
[2] 支持Web版与APP版互通(MobileIMSDK-Web版为另一独立工程,不包含在 MobileIMSDK v3 版之内);
[3] 优化了Protocal协议结构:增加了typeu用户自定义协议类型字段,从而大大简化了用户自义协议类型的使用;
【解决的Bug】
[1] [android]解决了当MobileIMSDK运行于有线电缆网络模式下不能正确判断网络连接事件的问题;
[2] [Android、java][bug]修正了Demo中首次登陆时使用了错误的ip后再改成正确的ip时却不能登陆的问题;
[3] [Android、java、iOS]解决了客户端(Android、iOS、Java)登陆时当服务端返回的认证结果code不为0时,客户端会进入反复登陆的死循环当中;
【其它优化和提升】
[1] [服务端]服务端定时器都由javax.swing.Timer改为java.util.Timer,提高可靠性;
[2] [服务端]重构了服务端代码,简化算法的理解、增强代码可读性;
[3] [服务端]升级了相关lib包:MINA至最新版2.0.13、gson2.7等;
[4] [android]SDK代码依然顽强地支持低至Andriod 2.3.3及以上版本(即Android API Level 10+);
[5] [iOS] 优化了demo的ui界面在ios10和xcode8下的兼容性问题。
[6] [iOS] 优化了“MessageQoSEvent中的messagesLost:(NSArray*)lostMessages”为“messagesLost:(NSMutableArray*)lostMessages”;
[7] [Android、java、iOS]优化了在掉线情况下的消息发送能尽快作为“未实时送达”包反馈到UI层从而提升体验;
[8] [服务端]因升级MINA2.0.13的需要,服务端SDK运行所需的Java版本已提升至1.7及以上版本;
[9] [Java、Android]解决了ClientCoreSDK.release()不能正常停掉LocalUDPDataReciever中的网络监听线程。
(原文链接:http://www.52im.net/article-246-1.html)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
iOS应用开发:什么是ARC
ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。 该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。 变化点 通过一小段代码,我们看看使用ARC前后的变化点。 C代码 @interfaceNonARCObject:NSObject{ NSString*name; } -(id)initWithName:(NSString*)name; @end @implementationNonARCObject -(id)initWithName:(NSString*)newName{ self=[superinit]; if(se...
- 下一篇
Android 数字签名学习笔记
在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。Android使用Java的数字证书相关的机制来给apk加盖数字证书,要理解android的数字证书,需要先了解以下数字证书的概念和java的数字证书机制。Android系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。 同一个开发者的多个程序尽可能使用同一个数字证书,这可以带来以下好处。 (1)有利于程序升级,当新版程序和旧版程序的数字证书相同时,Android系统才会认为这两个程序是同一个程序的不同版本。如果新版程序和旧版程序的数字证书不相...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案