移動端開源 IM 框架 MobileIMSDK v6.0 釋出!
阿新 • • 發佈:2021-07-22
一、更新內容簡介
本次為主要版本更新(本次更新內容見文末“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文件。
六、MobileIMSDKv6.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;
- [服務端] 服務端可控制是否為每條訊息生成傳送時間戳(可輔助用於客戶端的訊息排序邏輯等)。
七、相關連結
作者:Jack Jiang (點選作者姓名進入Github)
出處:http://www.52im.net/space-uid-1.html
交流:歡迎加入即時通訊開發交流群 215477170
討論:http://www.52im.net/
Jack Jiang同時是【原創Java
Swing外觀工程BeautyEye】和【輕量級開源移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
本博文
歡迎轉載,轉載請註明出處(也可前往 我的52im.net 找到我)。