【原創】輕量級移動端即時通信技術 MobileIMSDK 發佈了


申明:MobileIMSDK目前爲我的原創開源工程,投入了大量的時間和精力,但願對須要的人有所幫助。如需與做者交流,見文章底部我的簽名處,互相學習。Q羣:215891622,歡迎共同志趣者學習和交流。php


【前言】

MobileIMSDK工程的前身開始於2013年10月,起初用做某產品的即時通信底層實現,徹底從零開發。java

由於當時市面上相似的東西可供選擇的很少,在跟某商業框架的協議談崩了後,乾脆自已開發了一套。android

今年正好業餘有些時間,就整理了出來,但願對須要的人有所啓發和幫助。ios

【工程簡介】 

MobileIMSDK是一套專爲移動端開發的原創即時通信高可重用框架:git

  • 超輕量級、高度提煉,lib包50KB之內;
  • 徹底基於UDP協議實現;
  • 客戶端支持iOS、Android、標準Java平臺;
  • 可應用於跨設備、跨網絡的聊天APP、企業OA、消息推送等各類場景。

:point_right: 您可能須要:查看更多關於MobileIMSDK的疑問及解答github

【代碼託管同步更新】

GitHub.com算法

OsChina.netapi

【設計目標】

讓開發者專一於應用邏輯的開發,底層複雜的即時通信算法交由SDK開發人員,從而解偶即時通信應用開發的複雜性網絡

【框架組成】

整套MobileIMSDK框架由如下4部分組成:app

  1. Android客戶端SDK:用於Android版即時通信客戶端,支持Android 2.3及以上,查看API文檔
  2. iOS客戶端SDK:用於開發iOS版即時通信客戶端,支持iOS 6.0及以上,查看API文檔
  3. Java客戶端SDK:用於開發跨平臺的PC端即時通信客戶端,支持Java 1.5及以上,查看API文檔
  4. 服務端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):即由服務端主動發起,接收者是某客戶端。

:point_right: 您可能須要:查看更多關於MobileIMSDK的疑問及解答

【性能測試】

壓力測試代表,MobileIMSDK用於推送場景時,理論單機負載可接近千萬級。用於聊天應用時,單機負載也可達數十萬。

固然,每款應用都有各自的特色和差別,請視具體場景具體評估之,測試數據僅供參考。

:point_right: 性能測試報告:點此查看

【演示程序】

  1. Android客戶端 Demo:點此安裝和使用
  2. iOS客戶端 Demo:點此安裝和使用
  3. Java客戶端 Demo:點此安裝和使用

【應用案例】

① 基於MobileIMSDK的產品級聊天APP:

目前僅做演示之用:點擊下載體驗 或 查看運行截圖

② MobileIMSDK在高網絡延遲下的案例:

某款基於MobileIMSDK的商業商品,曾運營於跨洲際的複雜網絡環境下,端到端通訊延遲在洲際網絡繁忙時可高達600ms以上(與服務端的單向延遲約爲300ms左右,而一般你們訪問國內主流門戶的延遲約爲20~50ms),某段時期的非敏感運營數據 點此查看

【資源下載】

:paperclip: 最新發布版:點擊下載內含完整demo、api文檔、編譯分發包等)。

【開發指南】

  1. Android客戶端開發指南:點此查看
  2. iOS客戶端開發指南:點此查看
  3. Java客戶端開發指南:點此查看
  4. Server端開發指南:點此查看

【交流學習方式】

  • 討論學習和資料區: 點此進入
  • 移動端即時通信學習交流羣:215891622 移動端即時通信/IM開發
  • bug和建議請發送至: jb2011@163.com

【關注做者】

【附錄:Demo截圖】

:triangular_flag_on_post: Android和iOS運行效果:

安裝和使用:進入Android版Demo幫助頁進入iOS版Demo幫助頁

:triangular_flag_on_post: Windows 運行效果:

安裝和使用:進入Java版Demo幫助頁

:triangular_flag_on_post: Mac OS X 運行效果:

安裝和使用:進入Java版Demo幫助頁

相關文章
相關標籤/搜索