开源轻量级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的疑问及解答

三、代码托管同步更新

OsChina

代码托管:jackjiang/MobileIMSDK - 码云 - 开源中国

项目资料:点击查看更多资料

GitHub

代码托管: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)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

使用Jest测试原生TypeScript项目

问题:我怎么才能收到你们公众号平台的推送文章呢? 最近写了一个wechat-colorpicker小项目。 主要是为了练习下TS。既然写了一个小库,我就想着顺便...

4086
来自专栏酷玩时刻

银联支付-初次接触

银联开发平台 https://open.unionpay.com 平台分为三个角色

1886
来自专栏IT大咖说

VMware vSphere 6.7 新功能介绍

内容来源:2018 年 06 月 19 日,VMware大中华区原厂高级技术讲师姚泉在“VMware在线技术专题分享·第二期”进行《VMware vSphere...

5993
来自专栏Netkiller

怎样入住IDC机房或迁移IDC机房

4.3. 机房迁移 总结一下5年前的工作,在不写下来自己都快忘光了,工作关系现在已经不涉及运维这块的工作。 4.3.1. 拓扑确立 首先制定服务器拓扑图,拓扑...

4405
来自专栏西安-晁州

使用pd从数据库逆向生成pdm文件

1683
来自专栏杨建荣的学习笔记

你的备库做好准备了吗(r7笔记第78天)

这篇文章计划了一段时间,本来想写篇心情文字,还是留到周末再放飞心情吧。 今天的内容是关于数据库的备库的思考,当然我们可以自己问自己,我们的备库准备工作做好了吗?...

3777
来自专栏哲学驱动设计

使用 MarkDown & DocFX 升级 Rafy 帮助文档

2042
来自专栏java达人

从JAVA多线程理解到集群分布式和网络设计的浅析

对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的...

3058
来自专栏架构师之路

数据库软件架构设计些什么

缘起:受@萧田国 萧总邀请,上周五晚上在“高效运维1号群”内分享了《58同城数据库软件架构设计与实践》(这个topic今年在数据库大会上分享过),应组织方要求,...

37811
来自专栏迁移服务平台

腾讯云文件迁移使用指南

迁移上云的时候,会有迁移上腾讯云对象存储(cos)的需求,目前的迁移方案有两种:1、cos提供的COS Migration工具;2、客户自己利用友商和cos的a...

4184

扫码关注云+社区

领取腾讯云代金券