申明:MobileIMSDK目前為個人原創(chuàng)開源工程,投入了大量的時間和精力,希望對需要的人有所幫助。如需與作者交流,見文章底部個人簽名處,互相學(xué)習(xí)。Q群:215891622,歡迎共同志趣者學(xué)習(xí)和交流。
【前言】
MobileIMSDK工程的前身開始于2013年10月,起初用作某產(chǎn)品的即時通訊底層實現(xiàn),完全從零開發(fā)。
因為當(dāng)時市面上類似的東西可供選擇的不多,在跟某商業(yè)框架的協(xié)議談崩了后,干脆自已開發(fā)了一套。
今年正好業(yè)余有些時間,就整理了出來,希望對需要的人有所啟發(fā)和幫助。
【工程簡介】
MobileIMSDK是一套專為移動端開發(fā)的原創(chuàng)即時通訊高可重用框架:
- 超輕量級、高度提煉,lib包50KB以內(nèi);
- 完全基于UDP協(xié)議實現(xiàn);
- 客戶端支持iOS、Android、標準Java平臺;
- 可應(yīng)用于跨設(shè)備、跨網(wǎng)絡(luò)的聊天APP、企業(yè)OA、消息推送等各種場景。
您可能需要:查看更多關(guān)于MobileIMSDK的疑問及解答。
【代碼托管同步更新】
GitHub.com
OsChina.net
【設(shè)計目標】
讓開發(fā)者專注于應(yīng)用邏輯的開發(fā),底層復(fù)雜的即時通訊算法交由SDK開發(fā)人員
,從而解偶即時通訊應(yīng)用開發(fā)的復(fù)雜性
。
【框架組成】
整套MobileIMSDK框架由以下4部分組成:
- Android客戶端SDK:用于Android版即時通訊客戶端,支持Android 2.3及以上,查看API文檔;
- iOS客戶端SDK:用于開發(fā)iOS版即時通訊客戶端,支持iOS 6.0及以上,查看API文檔;
- Java客戶端SDK:用于開發(fā)跨平臺的PC端即時通訊客戶端,支持Java 1.5及以上,查看API文檔;
- 服務(wù)端SDK:用于開發(fā)即時通訊服和端,支持Java 1.5及以上版本,查看API文檔。
【技術(shù)特征】
- 超輕量級:高度提煉,lib包50KB以內(nèi);
- UDP實現(xiàn):更好的適應(yīng)現(xiàn)今的無線網(wǎng)絡(luò)環(huán)境;
- 高效費比:UDP的無連接特性,同等條件下可實現(xiàn)更高的網(wǎng)絡(luò)負載和吞吐能力;
- 消息走向:支持即時通訊技術(shù)中消息的所有可能走向,共3種(即C2C、C2S、S2C);
- QoS機制:完善的消息送達保證機制,不漏過每一條消息;
- 健壯可靠:實踐表明,非常適于在高延遲、跨洲際、不同網(wǎng)絡(luò)制式環(huán)境中穩(wěn)定、可靠地運行;
- 斷網(wǎng)恢復(fù):擁有網(wǎng)絡(luò)狀況自動檢測、斷網(wǎng)自動治愈的能力;
- 原創(chuàng)算法:核心算法和實現(xiàn)均為原創(chuàng),保證了持續(xù)改進和提升的空間;
- 多種模式:預(yù)設(shè)多種實時靈敏度模式,可根據(jù)不同場景控制即時性、流量和客戶端電量消耗;
- 數(shù)據(jù)壓縮:自有協(xié)議實現(xiàn),未來可自主定制數(shù)據(jù)壓縮,靈活控制客戶端的流量、服務(wù)端網(wǎng)絡(luò)吞吐;
- 高度封裝:高度封裝的API接口,保證了調(diào)用的簡易性,也使得可應(yīng)用于更多的應(yīng)用場景。
IMMobileSDK 所支持的全部3種即時通訊消息走向分別是:
(1) Client to Client (C2C):即由某客戶端主動發(fā)起,接收者是另一客戶端;
(2) Client to Server (C2S):即由某客戶端主動發(fā)起,接收者是服務(wù)端;
(3) Server to Client (S2C):即由服務(wù)端主動發(fā)起,接收者是某客戶端。
您可能需要:查看更多關(guān)于MobileIMSDK的疑問及解答。
【性能測試】
壓力測試表明,MobileIMSDK用于推送場景時,理論單機負載可接近千萬級。用于聊天應(yīng)用時,單機負載也可達數(shù)十萬。
當(dāng)然,每款應(yīng)用都有各自的特點和差異,請視具體場景具體評估之,測試數(shù)據(jù)僅供參考。
性能測試報告:點此查看。
【演示程序】
- Android客戶端 Demo:點此安裝和使用;
- iOS客戶端 Demo:點此安裝和使用;
- Java客戶端 Demo:點此安裝和使用。
【應(yīng)用案例】
① 基于MobileIMSDK的產(chǎn)品級聊天APP:
目前僅作演示之用:點擊下載體驗 或 查看運行截圖。
② MobileIMSDK在高網(wǎng)絡(luò)延遲下的案例:
某款基于MobileIMSDK的商業(yè)商品,曾運營于跨洲際的復(fù)雜網(wǎng)絡(luò)環(huán)境下,端到端通信延遲在洲際網(wǎng)絡(luò)繁忙時可高達600ms以上(與服務(wù)端的單向延遲約為300ms左右,而通常大家訪問國內(nèi)主流門戶的延遲約為20~50ms),某段時期的非敏感運營數(shù)據(jù) 點此查看。
【資源下載】
最新發(fā)布版:點擊下載(內(nèi)含完整demo、api文檔、編譯分發(fā)包等
)。
【開發(fā)指南】
- Android客戶端開發(fā)指南:點此查看;
- iOS客戶端開發(fā)指南:點此查看;
- Java客戶端開發(fā)指南:點此查看;
- Server端開發(fā)指南:點此查看。
【交流學(xué)習(xí)方式】
- 討論學(xué)習(xí)和資料區(qū): 點此進入;
- 移動端即時通訊學(xué)習(xí)交流群:
215891622
; - bug和建議請發(fā)送至:
jb2011@163.com。
【關(guān)注作者】
【附錄:Demo截圖】
Android和iOS運行效果:
安裝和使用:
進入Android版Demo幫助頁、進入iOS版Demo幫助頁。

Windows 運行效果:
安裝和使用:
進入Java版Demo幫助頁。

Mac OS X 運行效果:
安裝和使用:
進入Java版Demo幫助頁。
