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