️特別提示:如Github下載慢,請至:https://gitee.com/jackjiang/MobileIMSDK,程式碼完全同步,請放心下載️
❤️最新動態: MobileIMSDK的鴻蒙Next端已發布❤️
一、快速目錄
1.1、理論資料
- 網路程式設計理論經典《TCP/IP詳解》(線上閱讀版)
1.2、相關資料
- MobileIMSDK版本更新日誌
- MobileIMSDK常見問題?
- MobileIMSDK效能測試報告
1.3、產品案例
- RainbowChat體驗版?
- RainbowChat體驗版截圖預覽
- 某Chat的部分非敏感營運數據
1.4、Demo安裝
- 客戶端Demo安裝和使用幫助(Android)
- 客戶端Demo安裝和使用幫助(iOS)
- 客戶端Demo安裝與使用幫助(Java)
- 客戶端Demo演示和說明(H5)
- 客戶端Demo演示和說明(微信小程式)
- 客戶端Demo演示和說明(Uniapp)
- 客戶端Demo演示與說明(鴻蒙Next) ?
- 服務端Demo部署與使用協助
1.5、開髮指南
- 客戶端開髮指南(Android)
- 客戶端開髮指南(iOS)
- 客戶端開發指南(Java)
- 客戶端開髮指南(H5)
- 客戶端開髮指南(微信小程式)
- 客戶端開髮指南(Uniapp)
- 客戶端開髮指南(鴻蒙Next)
- 服務端開發指南
1.6、API文檔
- 客戶端SDK API文件(Android):TCP版、UDP版
- 客戶端SDK API文件(iOS):TCP版、UDP版
- 客戶端SDK API文件(Java):TCP版、UDP版
- 客戶端SDK API文件(H5):點此進入
- 客戶端SDK API文件(微信小程式):點此進入
- 客戶端SDK API文件(Uniapp):點此進入
- 客戶端SDK API文件(鴻蒙Next):完整手冊、API文檔
- 服務端SDK API文檔
1.7、打包下載
- MobileIMSDK最新版打包下載?
- 國外地址:MobileIMSDK的Github地址
- 國內位址:MobileIMSDK的碼雲gitee位址(存取速度快!)
1.8、學習交流
- 技術交流社群:點此進入
- 常見問題討論:點此進入?
- 技術交流Q群:
215477170
? - 技術支援/合作/諮詢請聯絡作者QQ:
413980957
(關於作者?) - 追蹤我的公眾號碼::point_down: :point_down:
二、專案簡介
MobileIMSDK是一套專為行動端開發的原創IM通訊層框架:
- 歷經10年、久經考驗;
- 超輕量級、高度提煉,lib包50KB以內;
- 精心封裝,一套API優雅支援UDP 、 TCP 、 WebSocket三種協定(可能是全網唯一開源的);
- 客戶端支援iOS、Android、標準Java、H5(暫未開源)、小程式(暫未開源)、Uniapp(暫未開源)、鴻蒙Next(SDK暫未開源、Demo完整源碼);
- 服務端基於Netty,效能卓越、易於擴充;:point_left:
- 可與姊妹工程MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;:point_left:
- 可應用於跨裝置、跨網路的聊天APP、企業OA、訊息推播等各種場景。
MobileIMSDK工程自2013年10月起持續升級至今(目前最新版是v6.5,版本更新日誌點此查看),歷經10年,起初用作某自用產品的即時通訊底層,完全從零開發。
目前,最新鴻蒙Next端已開發完成,希望對需要的人有所啟發與幫助。
您可能需要:查看更多關於MobileIMSDK的問題及解答。
另一位姊妹工程:輕量級Web端即時通訊框架:MobileIMSDK-Web 也在持續更新中,專用於手機或PC端的網頁聊天和訊息推播等。
三、程式碼託管同步更新
碼雲gitee
- 程式碼託管: https://gitee.com/jackjiang/MobileIMSDK
- 技術社群: 點擊查看更多資料
GitHub.com
- 程式碼託管: https://github.com/JackJiang2011/MobileIMSDK
- 技術社群: 點擊查看更多資料
MobileIMSDK版本更新日誌:點此查看?
四、設計目標
讓開發者專注於應用邏輯的開發,底層复杂的即时通讯算法交由SDK开发人员
,從而解偶即时通讯应用开发的复杂性
。
五、框架組成
整套MobileIMSDK框架由以下7部分組成:
- Android客戶端SDK:用於Android版即時通訊用戶端,支援Android 4.0以上,檢視API文件;
- iOS客戶端SDK:用於開發iOS版即時通訊客戶端,支援iOS 12.0以上,檢視API文件;
- Java客戶端SDK:用於開發跨平台的PC端即時通訊客戶端,支援Java 1.6以上,檢視API文件;
- H5客戶端SDK:暫無開源版,查看精編註釋版;
- 微信小程式端SDK:暫無開源版,查看精編註釋版;
- Uniapp端SDK:暫無開源版,查看精編註釋版;
- 鴻姿Next端SDK: SDK暫無開源版(檢視精編註釋版),Demo完整工程原始碼;
- 服務端SDK:用於開發即時通訊服務端,支援Java 1.7以上版本,檢視API文件。
整套MobileIMSDK框架的架構組成:
MobileIMSDK一直在持續開發與升級中,鴻蒙Next客戶端是MobileIMSDK工程的最新成果。
另外: MobileIMSDK可與姊妹工程MobileIMSDK-Web 無縫互通,進而實現Web網頁端聊天或推播等。
六、技術特徵
- 久經考驗:歷經10年,從Andriod 2.3、iOS 5.0 時代持續升級至今(絕不爛尾);
- 超輕量級:高度提煉,lib包50KB以內;
- 多種協定:可能是全網唯一開源可一套API同時支援UDP、TCP、WebSocket三種協定的同類框架?;
- 多種網路:精心優化的TCP、UDP、WebSocket協定實現,可應用於衛星網路、行動網路、嵌入式物聯網等場景;
- 多端覆蓋:客戶端支援iOS、Android、標準Java、H5、微信小程式、Uniap、鴻蒙Next;
- 高效費比:獨有的UDP協定實現,無連接特性,同等條件下可實現更高的網路負載和吞吐能力;
- 訊息走向:支援即時通訊技術中訊息的所有可能走向,共3種(即C2C、C2S、S2C);
- 黏包半包:優雅解決各端的TCP經典黏包和半包問題,底層封裝,應用層完全無感知;
- QoS機制:完善的訊息送達保證機制(自動重傳、訊息去重、狀態回饋等),不漏過每一則訊息;
- 健壯可靠:實務表明,非常適於在高延遲、跨洲際、不同網路制式環境中穩定、可靠地運作;
- 斷網恢復:擁有網路狀況自動偵測、斷網自動治癒的能力;
- 原創演算法:核心演算法和實作均為原創,保證了持續改進和提升的空間;
- 多種模式:預設多種即時靈敏度模式,可依不同場景控制即時性、流量和客戶端電量消耗;
- 資料壓縮:自有協定實現,未來可自主自訂資料壓縮,靈活控制客戶端的流量、服務端網路吞吐;
- 高度封裝:高度封裝的API接口,確保了呼叫的簡易性,也使得可應用於更多的應用場景;
- Web支援:可與姊妹工程MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;:point_left:
- 擴展性佳:服務端基於Netty,繼承了Netty的優秀高可擴展性;
- 效能優異:服務端繼承了Netty高效能、高吞吐特性,適用於高效能服務端場景。
MobileIMSDK 所支援的全部3種即時通訊訊息走向分別是:
(1) Client to Client (C2C):即由某客戶端主動發起,接收者為另一客戶端;
(2) Client to Server (C2S):即由某客戶端主動發起,接收者為服務端;
(3) Server to Client (S2C):即由服務端主動發起,接收者為某客戶端。
您可能需要:查看更多關於MobileIMSDK的問題及解答。
七、性能測試
壓力測試表明,MobileIMSDK用於推送場景時,理論單機負載可接近千萬級。用於聊天應用時,單機負載也可達數十萬。
當然,每款應用程式都有各自的特點和差異,請視具體場景具體評估之,測試數據僅供參考。
效能測試報告:點此查看。
八、演示程序
- Android客戶端Demo:點此安裝和使用;
- iOS客戶端Demo:點此安裝和使用;
- Java客戶端Demo:點此安裝和使用;
- H5客戶端Demo:點此查看介紹;
- 微信小程式端Demo:點此查看介紹;
- Uniapp端Demo:點此查看介紹;
- 鴻蒙Next端Demo:點此看介紹?;
- 服務端Demo:點此安裝和使用。
九、應用案例
① 基於MobileIMSDK的產品級聊天APP:
詳細介紹、下載體驗或查看運行截圖。
② MobileIMSDK在高網路延遲下的案例:
某款基於MobileIMSDK的商業商品,曾經營於跨洲際的複雜網路環境下,端對端通訊延遲在洲際網路繁忙時可高達600ms以上(與服務端的單向延遲約為300ms左右,而通常大家造訪國內主流入口網站的延遲約為20~50ms),某段時期的非敏感營運資料點此檢視。
十、打包下載(all in one)
?① 最新發布版(國外地址):Github打包下載
?② 最新發布版(國內地址):碼雲gitee打包下載(訪問速度快! ?)
說明:最新發布版打包內容中,已包含完整的demo源碼、sdk源碼、api文檔、編譯後的分發包等。
十一、典型應用場景
場景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要簡單的多。
十二、開髮指南
- Android客戶端開髮指南:點此查看;
- iOS客戶端開髮指南:點此查看;
- Java客戶端開髮指南:點此查看;
- H5客戶端開髮指南:點此查看;
- 微信小程式端開髮指南:點此檢視;
- Uniapp端開發指南:點此查看;
- 鴻蒙Next端開髮指南:點此看;
- Server端開發指南:點此查看。
十三、授權方式
你可永久免費且自由地使用MobileIMSDK,如:用於研究、學習、甚至商業用途, 但禁止在超越License約束內容的情況下用於商業用途等,請尊重知識產權。 更詳細的授權說明,請參閱MobileIMSDK社群介紹貼文中的「十二、授權方式」一節。
補充說明:如您還需獲得更多技術支援或技術合作請聯絡作者,QQ: 413980957
(:point_right: 關於作者)。
十四、聯絡方式
- 討論學習與資料區::earth_americas: 點此進入;
- 即時通訊技術交流群:
185926912
(更多QQ群點此進入); - bug和建議請寄至::love_letter:
[email protected]
; - 技術訓練/轉移/合作/諮詢等歡迎聯絡作者QQ::penguin:
413980957
、微信: hellojackjiang
(:point_right: 關於作者)。
十五、捐贈作者
優秀的開源需要您的支持才能走的更遠,衷心感謝您的支持與理解,也希望您能從開源中獲得收益。
十六、關注作者
- 關於作者:點擊進入?
- 建議關注:BeautyEye工程
- 部落格網址:點選入進
- Github首頁:點選進入
- 我的公眾號碼::point_down: :point_down:
附錄:Demo運行截圖
1、MobileIMSDK Demo在鴻蒙Next端運作效果:
编译和运行:
查看鴻蒙Next端Demo完整原始碼。
2.MobileIMSDK Demo在Android端、iOS端運作效果:
安装和使用:
進入Android版Demo幫助頁、進入iOS版Demo幫助頁。
3、MobileIMSDK Demo在H5端運作效果:
4、MobileIMSDK Demo在微信小程式端運作效果:
5.MobileIMSDK Demo在Uniapp端運作效果:
6、MobileIMSDK Demo在Windows 運作效果:
安装和使用:
進入Java版Demo幫助頁。
7、MobileIMSDK Demo在Mac OS X 運作效果:
安装和使用:
進入Java版Demo幫助頁。
8、MobileIMSDK-Web版客戶端Demo運作效果:
1)MobileIMSDK-Web Demo在手机端浏览器运行效果:
查看MobileIMSDK-Web版詳情。
2)MobileIMSDK-Web Demo在PC端多种主流浏览器的运行效果:
查看MobileIMSDK-Web版詳情。
案例1:基於MobileIMSDK的全功能行動端IM產品
关于RainbowChat产品的更多资料请见:
RainbowChat產品的全部功能截圖(真機實拍影片:Andriod端、iOS端)。
【特別說明】:因github圖片被牆,圖未同步成功,請從RainbowChat產品的全部功能截圖中查看! :point_left: :point_left:
更多清晰运行截图请见:
RainbowCha產品的全部功能截圖。
案例2:基於MobileIMSDK-Web的網頁端IM系統
RainbowChat-Web產品主介面:
更多截图和视频:
更多截圖點此進入、更多示範影片點此進入。
RainbowChat-Web產品主介面(聊天窗全螢幕時):
更多截图和视频:
更多截圖點此進入、更多示範影片點此進入。
RainbowChat-Web產品主介面(獨立UI效果):
更多截图和视频:
更多截圖點此進入、更多示範影片點此進入。