一、更新內(nèi)容簡(jiǎn)介本次為主要版本更新(本次更新內(nèi)容見文末“MobileIMSDK v6.0更新內(nèi)容 ”一節(jié)),強(qiáng)勢(shì)升級(jí),將同時(shí)支持TCP、UDP、WebSocket三種協(xié)議,精心封裝之下,實(shí)現(xiàn)同一套API、三種協(xié)議同時(shí)并存。 可能是市面上唯一同時(shí)支持UDP+TCP+WebSocket三種協(xié)議的同類開源IM框架。 二、MobileIMSDK簡(jiǎn)介MobileIMSDK 是一套專為移動(dòng)端開發(fā)的原創(chuàng)IM通信層框架: 歷經(jīng)8年、久經(jīng)考驗(yàn); 超輕量級(jí)、高度提煉,lib包50KB以內(nèi); 精心封裝,一套API同時(shí)支持UDP、TCP、WebSocket三種協(xié)議(可能是全網(wǎng)唯一開源的); 客戶端支持 iOS、Android、標(biāo)準(zhǔn)Java、H5、小程序(開發(fā)中..)、Uniapp(開發(fā)中..); 服務(wù)端基于Netty,性能卓越、易于擴(kuò)展; 可與姊妹工程 MobileIMSDK-Web 無縫互通實(shí)現(xiàn)網(wǎng)頁(yè)端聊天或推送等; 可應(yīng)用于跨設(shè)備、跨網(wǎng)絡(luò)的聊天APP、企業(yè)OA、消息推送等各種場(chǎng)景。
MobileIMSDK工程始于2013年10月,起初用作某產(chǎn)品的即時(shí)通訊底層實(shí)現(xiàn),完全從零開發(fā),技術(shù)自主可控! 您可能需要:查看關(guān)于MobileIMSDK的詳細(xì)介紹。 三、代碼托管同步更新OsChina.net GitHub.com 四、MobileIMSDK設(shè)計(jì)目標(biāo)讓開發(fā)者專注于應(yīng)用邏輯的開發(fā),底層復(fù)雜的即時(shí)通訊算法交由SDK開發(fā)人員,從而解偶即時(shí)通訊應(yīng)用開發(fā)的復(fù)雜性。 五、MobileIMSDK框架組成整套MobileIMSDK框架由以下5部分組成: Android客戶端SDK:用于Android版即時(shí)通訊客戶端,支持Android 2.3及以上,查看API文檔; iOS客戶端SDK:用于開發(fā)iOS版即時(shí)通訊客戶端,支持iOS 8.0及以上,查看API文檔; Java客戶端SDK:用于開發(fā)跨平臺(tái)的PC端即時(shí)通訊客戶端,支持Java 1.6及以上,查看API文檔; H5客戶端SDK:資料整理中,不日正式發(fā)布; 服務(wù)端SDK:用于開發(fā)即時(shí)通訊服務(wù)端,支持Java 1.7及以上版本,查看API文檔。
六、MobileIMSDK v6.0更新內(nèi)容【重要說明】: MobileIMSDK v6 為全新版本,新增了對(duì)WebSocket協(xié)議的優(yōu)雅支持、多端互踢支持等! 查看詳情
【新增重要特性】: 服務(wù)端新增WebSocket協(xié)議支持,一套API優(yōu)雅支持TCP、UDP、WebSocket 3種協(xié)議; 支持多端互踢功能(可應(yīng)對(duì)復(fù)雜的移動(dòng)端網(wǎng)絡(luò)變動(dòng)邏輯對(duì)多端互踢算法的影響);
【解決的Bug】: [Andriod]解決了斷線后,fireDisconnectedToServer()方法中的一處空指針隱患; [iOS] 修復(fù)了TCP版代碼中,調(diào)用[ClientCoreSDK releaseCore]方法會(huì)觸發(fā)自動(dòng)登陸邏輯的bug; [服務(wù)端] 解決了UDP協(xié)議下,重連情況下的被踢者已被服務(wù)端注銷會(huì)話后,客戶端才發(fā)回登陸響應(yīng)ACK應(yīng)答,導(dǎo)致服務(wù)端錯(cuò)誤地向未被踢者發(fā)出已登陸者重復(fù)登陸響應(yīng)的問題;
【其它優(yōu)化和提升】: [Andriod]廢棄了SDK、Demo代碼中的所有AsyncTask的使用; [Andriod]將所有可使用Lambda表達(dá)式的代碼全部用Lambda進(jìn)行了簡(jiǎn)化。 [iOS] 解決了XCode12上編譯SDK的.a包,打包成胖子.a時(shí)報(bào)“have the same architectures (arm64) and can't be in the same fat output file”的問題; [iOS] Demo中所有使用過時(shí)的UIAlertView改為UIAlertController實(shí)現(xiàn); [iOS] 解決了iOS端SDK工程中兩處因類名重構(gòu)導(dǎo)致的在XCode12.5.1上編譯出錯(cuò)。 [服務(wù)端] 將服務(wù)端Demo中的Log4j日志框架升級(jí)為最新的Log4j2; [服務(wù)端] 服務(wù)端可控制是否為每條消息生成發(fā)送時(shí)間戳(可輔助用于客戶端的消息排序邏輯等)。
七、相關(guān)鏈接
|