Posted on 2021-07-22 16:02
Jack Jiang 閱讀(163)
評論(0) 編輯 收藏
一、更新內容簡介
本次為主要版本更新(本次更新內容見文末“MobileIMSDK v6.0更新內容 ”一節),強勢升級,將同時支持TCP、UDP、WebSocket三種協議,精心封裝之下,實現同一套API、三種協議同時并存。
可能是市面上唯一同時支持UDP+TCP+WebSocket三種協議的同類開源IM框架。
二、MobileIMSDK簡介

MobileIMSDK 是一套專為移動端開發的原創IM通信層框架:
- 歷經8年、久經考驗;
- 超輕量級、高度提煉,lib包50KB以內;
- 精心封裝,一套API同時支持UDP、TCP、WebSocket三種協議(可能是全網唯一開源的);
- 客戶端支持 iOS、Android、標準Java、H5、小程序(開發中..)、Uniapp(開發中..);
- 服務端基于Netty,性能卓越、易于擴展;

- 可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;

- 可應用于跨設備、跨網絡的聊天APP、企業OA、消息推送等各種場景。
MobileIMSDK工程始于2013年10月,起初用作某產品的即時通訊底層實現,完全從零開發,技術自主可控!
您可能需要:查看關于MobileIMSDK的詳細介紹。
三、代碼托管同步更新
OsChina.net
GitHub.com
四、MobileIMSDK設計目標
讓開發者專注于應用邏輯的開發,底層復雜的即時通訊算法交由SDK開發人員,從而解偶即時通訊應用開發的復雜性。
五、MobileIMSDK框架組成
整套MobileIMSDK框架由以下5部分組成:
- Android客戶端SDK:用于Android版即時通訊客戶端,支持Android 2.3及以上,查看API文檔;
- iOS客戶端SDK:用于開發iOS版即時通訊客戶端,支持iOS 8.0及以上,查看API文檔;
- Java客戶端SDK:用于開發跨平臺的PC端即時通訊客戶端,支持Java 1.6及以上,查看API文檔;
- H5客戶端SDK:資料整理中,不日正式發布;
- 服務端SDK:用于開發即時通訊服務端,支持Java 1.7及以上版本,查看API文檔。
六、MobileIMSDK v6.0更新內容
【重要說明】:
MobileIMSDK v6 為全新版本,新增了對WebSocket協議的優雅支持、多端互踢支持等! 查看詳情
【新增重要特性】:
- 服務端新增WebSocket協議支持,一套API優雅支持TCP、UDP、WebSocket 3種協議;
- 支持多端互踢功能(可應對復雜的移動端網絡變動邏輯對多端互踢算法的影響);
【解決的Bug】:
- [Andriod]解決了斷線后,fireDisconnectedToServer()方法中的一處空指針隱患;
- [iOS] 修復了TCP版代碼中,調用[ClientCoreSDK releaseCore]方法會觸發自動登陸邏輯的bug;
- [服務端] 解決了UDP協議下,重連情況下的被踢者已被服務端注銷會話后,客戶端才發回登陸響應ACK應答,導致服務端錯誤地向未被踢者發出已登陸者重復登陸響應的問題;
【其它優化和提升】:
- [Andriod]廢棄了SDK、Demo代碼中的所有AsyncTask的使用;
- [Andriod]將所有可使用Lambda表達式的代碼全部用Lambda進行了簡化。
- [iOS] 解決了XCode12上編譯SDK的.a包,打包成胖子.a時報“have the same architectures (arm64) and can't be in the same fat output file”的問題;
- [iOS] Demo中所有使用過時的UIAlertView改為UIAlertController實現;
- [iOS] 解決了iOS端SDK工程中兩處因類名重構導致的在XCode12.5.1上編譯出錯。
- [服務端] 將服務端Demo中的Log4j日志框架升級為最新的Log4j2;
- [服務端] 服務端可控制是否為每條消息生成發送時間戳(可輔助用于客戶端的消息排序邏輯等)。
七、相關鏈接
- MobileIMSDK 的詳細介紹:點擊查看
- MobileIMSDK 的下載地址:點擊下載