Jack Jiang

          我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
          posts - 499, comments - 13, trackbacks - 0, articles - 1

          1、項目簡介

          MobileIMSDK是一套專為移動端開發的原創IM通信層框架:

          • 1)歷經8年、久經考驗;
          • 2)超輕量級、高度提煉,lib包50KB以內;
          • 3)精心封裝,一套API同時支持UDP、TCP、WebSocket三種協議(可能是全網唯一開源的);
          • 4)客戶端支持iOS、Android、標準Java、H5(暫未開源)、小程序(開發中..)、Uniap(開發中..);
          • 5)服務端基于Netty,性能卓越、易于擴展 new;
          • 6)可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;
          • 7)可應用于跨設備、跨網絡的聊天APP、企業OA、消息推送等各種場景。

          2、代碼托管同步更新

          GitHub.com:

          碼云gitee:

          3、設計目標

          讓開發者專注于應用邏輯的開發,底層復雜的即時通訊算法交由SDK開發人員,從而解偶即時通訊應用開發的復雜性。

          4、框架組成

          整套MobileIMSDK框架由以下6部分組成:

          • 1)Android客戶端SDK:用于開發Android版即時通訊客戶端,支持Android 2.3及以上版本,查看API文檔
          • 2)iOS客戶端SDK:用于開發iOS版即時通訊客戶端,支持iOS 8.0及以上版本,查看API文檔
          • 3)Java客戶端SDK:用于開發跨平臺的PC端即時通訊客戶端,支持標準Java 1.6及以上版本,查看API文檔
          • 4)H5客戶端SDK:暫無開源版,查看精編注釋版
          • 5)小程序端SDK:持續開發中,敬請關注;
          • 6)服務端SDK:用于開發即時通訊服務端,支持Java 1.7及以上版本,查看API文檔

          整套MobileIMSDK框架的架構組成:

          5、技術特征

          • 久經考驗:歷經8年,從Andriod 2.3、iOS 5.0 時代持續升級至今(絕不爛尾);
          • 超輕量級:高度提煉,lib包50KB以內;
          • 多種協議:可能是全網唯一開源可同時支持UDP、TCP、WebSocket三種協議的同類框架;
          • 多種網絡:精心優化的TCP、UDP、WebSocket協議實現,可應用于衛星網、移動網、嵌入式物聯網等場景;
          • 高效費比:獨有的UDP協議實現,無連接特性,同等條件下可實現更高的網絡負載和吞吐能力;
          • 消息走向:支持即時通訊技術中消息的所有可能走向,共3種(即C2C、C2S、S2C);
          • 粘包半包:優雅解決各端的TCP經典粘包和半包問題,底層封裝,應用層完全無感知;
          • QoS機制:完善的消息送達保證機制(多重保障),不漏過每一條消息;
          • 健壯可靠:實踐表明,非常適于在高延遲、跨洲際、不同網絡制式環境中穩定、可靠地運行;
          • 斷網恢復:擁有網絡狀況自動檢測、斷網自動治愈的能力;
          • 原創算法:核心算法和實現均為原創,保證了持續改進和提升的空間;
          • 多種模式:預設多種實時靈敏度模式,可根據不同場景控制即時性、流量和客戶端電量消耗;
          • 數據壓縮:自有協議實現,未來可自主定制數據壓縮,靈活控制客戶端的流量、服務端網絡吞吐;
          • 高度封裝:高度封裝的API接口,保證了調用的簡易性,也使得可應用于更多的應用場景;
          • Web支持:可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;
          • 擴展性好:服務端基于Netty,繼承了Netty的優秀高可擴展性;
          • 性能優異:服務端繼承了Netty高性能、高吞吐特性,適用于高性能服務端場景。

          MobileIMSDK 所支持的全部3種即時通訊消息走向分別是:

          (1) Client to Client (C2C):即由某客戶端主動發起,接收者是另一客端;

          (2) Client to Server (C2S):即由某客戶端主動發起,接收者是服務端;

          (3) Server to Client (S2C):即由服務端主動發起,接收者是某客戶端。

          6、性能測試

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

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

          性能測試報告:點此查看

          7、演示程序

          8、應用案例

          RainbowChat是一款基于MobileIMSDK的產品級聊天APP,更多詳情:點擊下載體驗 或 查看運行截圖

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

          ▶ 詳細介紹下載體驗 或 查看運行截圖

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

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

          9、打包下載(all in one)

          說明:最新發布版打包內容中,已包含完整的demo源碼、sdk源碼、api文檔、編譯后的分發包等。

          10、典型應用場景

          場景1:聊天APP

          • 應用說明:可用于開發類似于微信、QQ等聊天工具。
          • 消息走向:需使用C2C、C2S、S2C全部類型。

          特別說明:MobileIMSDK并未定義聊天應用的應用層邏輯和協議,開發者可自行定義并實現之。

          場景2:消息推送

          • 應用說明:可用于需要向客戶端實時推送信息的各種類型APP。
          • 消息走向:僅需使用S2C 1種消息走向,屬MobileIMSDK的最簡單應用場景。

          場景3:企業OA

          • 應用說明:可用于實現企業OA的指令、公文、申請等各種消息實時推送,極大提升用戶體驗,并可延伸至移動設備。
          • 消息走向:僅需使用S2C 1種消息走向,屬MobileIMSDK的最簡單應用場景。

          場景4:企業OA的增強型

          • 應用說明:可用于實現企業OA中各種系統級、用戶級消息的實時互動,充分利用即時通訊技術提升傳統OA的價值。
          • 消息走向:可使用C2C、C2S、S2C全部類型,這與聊天APP在很多方面已無差別,但企業OA有自已的用戶關系管理模型和邏輯,較之全功能聊天APP要簡單的多。

          11、開發指南

          12、關注作者

          博客地址:點擊入進、Github主頁:點擊進入

          附錄1:Demo截圖

          1)Android和iOS運行效果

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

          2)Windows 運行效果

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

          3)Mac OS X 運行效果

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

          附錄2:基于MobileIMSDK的全功能IM【案例】

          >> 關于RainbowChat的更多資料請見:RainbowChat前端APP功能截圖網頁 。

           

          附錄3:基于MobileIMSDK-Web的網頁端IM系統【案例】

          下圖為RainbowChat-Web的主界面(更多截圖點此進入更多演示視頻點此進入):



          作者:Jack Jiang (點擊作者姓名進入Github)
          出處:http://www.52im.net/space-uid-1.html
          交流:歡迎加入即時通訊開發交流群 215891622
          討論:http://www.52im.net/
          Jack Jiang同時是【原創Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
          本博文 歡迎轉載,轉載請注明出處(也可前往 我的52im.net 找到我)。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 新密市| 阳原县| 磐石市| 禄丰县| 安宁市| 汉寿县| 朔州市| 常德市| 普格县| 手游| 崇礼县| 新余市| 玉环县| 广德县| 祁门县| 枣庄市| 招远市| 蒙城县| 浦江县| 稷山县| 黔西| 嘉鱼县| 永济市| 平昌县| 宁远县| 乌拉特中旗| 瑞金市| 木里| 诏安县| 清镇市| 涞源县| 隆安县| 商南县| 武穴市| 晋城| 大石桥市| 金川县| 共和县| 玛多县| 绥江县| 察雅县|