默認
打賞 發表評論 21
想開發IM:買成品怕坑?租第3方怕貴?找開源自已擼?盡量別走彎路了... 找站長給點建議
即時通訊框架MobileIMSDK:快速入門
閱讀(144607) | 評論(21 收藏21 淘帖1 2

A、捐助作者,得MobileIMSDK精編注釋版


請點擊需要的平臺和版本,前往淘寶下單,付款后系統會自動發貨(網盤下載鏈接)到您的相關郵件地址,詳情請見淘寶詳情:

MobileIMSDK(Android客戶端庫)精編注釋版:https://item.taobao.com/item.htm?id=534778878908
MobileIMSDK(Java客戶端庫)精編注釋版:https://item.taobao.com/item.htm?id=534874027509
MobileIMSDK(iOS客戶端庫)精編注釋版:https://item.taobao.com/item.htm?id=534918179776
MobileIMSDK(服務端庫)精編注釋版:https://item.taobao.com/item.htm?id=534986485062


關于精編版與開源版的區別等詳細說明,請參見:捐助作者,得MobileIMSDK精編注釋版 (精編源碼+算法圖+CHM版API)

即時通訊框架MobileIMSDK:快速入門_1.png       即時通訊框架MobileIMSDK:快速入門_2.png
即時通訊框架MobileIMSDK:快速入門_3.png       即時通訊框架MobileIMSDK:快速入門_4.png

(▶ 關于精編版與開源版的關系和區別等更多詳情請進入:http://www.uktmgv.tw/thread-411-1-1.html

B、快捷目錄


網絡理論↘

相關資料↘

開發文檔↘

資源下載↘

學習交流↘
  • 常見問題討論學習:點此進入 推薦
  • 討論學習和資料區:點此進入
  • 移動端即時通訊交流群: 215891622 推薦
  • bug/建議發送至:[email protected]
  • 技術支持/合作/咨詢請聯系作者QQ:413980957

相關技術↘
  ① Web端即時通訊框架:MobileIMSDK-Web
  ② 移動端實時音視頻框架:RainbowAV
  ③ 全功能產品級IM案例:RainbowChat
  ④ Web端產品級IM案例:RainbowChat-Web

一、簡介




MobileIMSDK是一套專為移動端開發的原創即時通訊框架:
  • 超輕量級、高度提煉,lib包50KB以內;
  • 完全基于UDP協議實現;
  • 客戶端支持iOS、Android、標準Java平臺;
  • 服務端提供Mina版和Netty版,方便研究和學習 new
  • 可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;
  • 可應用于跨設備、跨網絡的聊天APP、企業OA、消息推送等各種場景。

MobileIMSDK工程始于2013年10月,起初用作某產品的即時通訊底層實現,完全從零開發。
MobileIMSDK現已公開并免費供開發者使用,希望對需要的人有所啟發和幫助。


您可能需要:查看更多關于MobileIMSDK的疑問及解答
另一姊妹工程:輕量級Web端即時通訊框架:MobileIMSDK-Web 已于2017年8月正式公開,專用于手機或PC端的網頁聊天和消息推送等。

二、代碼托管同步更新


GitHub.comOsChina.net
(MobileIMSDK版本更新日志:點此查看new

三、設計目標


讓開發者專注于應用邏輯的開發,底層復雜的即時通訊算法交由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(Mina版):基于Mina框架,用于開發即時通訊服務端,支持Java 1.6及以上版本,查看API文檔
  • 服務端SDK(Netty版):基于Netty框架,用于開發即時通訊服務端,支持Java 1.6及以上版本,查看API文檔

另外:MobileIMSDK可與姊妹工程 MobileIMSDK-Web 無縫互通,從而實現Web網頁端聊天或推送等。

五、技術特征


  • 超輕量級:高度提煉,lib包50KB以內;
  • UDP實現:更好的適應現今的無線網絡環境;
  • 高效費比:UDP的無連接特性,同等條件下可實現更高的網絡負載和吞吐能力;
  • 消息走向:支持即時通訊技術中消息的所有可能走向,共3種(即C2C、C2S、S2C);
  • QoS機制:完善的消息送達保證機制,不漏過每一條消息;
  • 健壯可靠:實際產品的運營表明,非常適于在高延遲、跨洲際、不同網絡制式環境中穩定、可靠地運行;
  • 斷網恢復:擁有網絡狀況自動檢測、斷網自動治愈的能力;
  • 原創算法:核心算法和實現均為原創,保證了持續改進和提升的空間;
  • 多種模式:預設多種實時靈敏度模式,可根據不同場景控制即時性、流量和客戶端電量消耗;
  • 數據壓縮:自有協議實現,未來可自主定制數據壓縮,靈活控制客戶端的流量、服務端網絡吞吐;
  • 高度封裝:高度封裝的API接口,保證了調用的簡易性,也使得可應用于更多的應用場景;
  • Web方案:可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;
  • Mina、Netty:服務端分別提供了基于Mina和Netty new 共2個版本,根據您的技術喜好靈活選擇。

MobileIMSDK 所支持的全部3種即時通訊消息走向分別是:   
  (1) Client to Client (C2C):即由某客戶端主動發起,接收者是另一客端;
  (2) Client to Server (C2S):即由某客戶端主動發起,接收者是服務端;
  (3) Server to Client (S2C):即由服務端主動發起,接收者是某客戶端。


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

六、性能測試


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

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


性能測試報告:點此查看

七、演示程序


八、應用案例


RainbowChat是一款基于MobileIMSDK的產品級聊天APP,目前僅作演示之用,點擊下載體驗查看運行截圖

九、資源下載


最新發布版:點擊下載內含完整demo、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要簡單的多。

十一、開發指南


十二、授權方式


授權方法:
從開源倉庫或是從淘寶獲得精篇源碼和資料后,即可永久自由地使用MobileIMSDK,無需單獨授權(但如需正式授權書,請聯系作者,如:用于研究、學習、甚至商業用途。MobileIMSDK為著作權作品,未經作者授權不可對MobileIMSDK本身進行二次出售(但基于此進行的后續演進和開發成果由您自行獨享),請尊重知識產權。

版本升級:
精編注釋版可永久免費獲取最新版本(開源版從Github上同步就行了),作者承諾在捐助者索取最新版本時,提供優先交付的保證。

著作權證書展示:
即時通訊框架MobileIMSDK:快速入門_mobileimsdk_m.jpg

補充說明:如需獲得更多技術支持或技術合作請聯系作者,QQ:413980957

十三、聯系方式


十四、關注作者


推薦關注:BeautyEye工程
博客地址:點擊入進
Github主頁:點擊進入

附錄1:Demo截圖


Android和iOS運行效果

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

即時通訊框架MobileIMSDK:快速入門_ios_android_real_run2.jpg
▲ MobileIMSDK v4.x 版運行效果

即時通訊框架MobileIMSDK:快速入門_ios$android.jpg
▲ MobileIMSDK v3.x 版(舊版)運行效果

Windows 運行效果

>> 安裝和使用:進入Java版Demo幫助頁
即時通訊框架MobileIMSDK:快速入門_windows.png

Mac OS X 運行效果

>> 安裝和使用:進入Java版Demo幫助頁
即時通訊框架MobileIMSDK:快速入門_macosx.png

MobileIMSDK-Web版客戶端Demo運行效果:


MobileIMSDK-Web在手機端瀏覽器運行效果:如何獲取MobileIMSDK-Web版:點此進入
即時通訊框架MobileIMSDK:快速入門_MobileIMSDK-Web-Demo在移動端瀏覽器運行效果.png

MobileIMSDK-Web在PC端瀏覽器運行效果:如何獲取MobileIMSDK-Web版:點此進入
即時通訊框架MobileIMSDK:快速入門_MobileIMSDK-Web-Demo在PC端瀏覽器運行效果.png

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


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

附錄3:基于MobileIMSDK的某云客服IM子系統【案例】


下圖為某云客服產品IM子系統-Web版訪客端:


下圖為某云客服產品IM子系統-Web版客服后臺端:


下圖為某云客服產品IM子系統-iOS版訪客端:


下圖為某云客服產品IM子系統-iOS版客服后臺端:


下圖為某云客服產品IM子系統-Android版客服后臺端:

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


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


下圖為RainbowChat-Web的主界面[聊天窗全屏時] (更多截圖點此進入更多演示視頻點此進入):

即時通訊網 - 即時通訊開發者社區! 來源: - 即時通訊開發者社區!

標簽:MobileIMSDK
下一篇:即時通訊框架MobileIMSDK的Demo使用幫助:iOS版

本帖已收錄至以下技術專輯

推薦方案
評論 21
支持一下。回去看看
謝謝. 學習下
謝謝 ,學習,
謝謝,值得學習
值得學習 很期待
感覺發現了寶庫呀~~
有木有支持多設備通信,同類設備新設備登錄將舊設備T下線的功能
簽名: 社區安防趕緊回來呼吁國際化范德薩發生
引用:不吃香蕉的猴子 發表于 2017-08-15 16:55
有木有支持多設備通信,同類設備新設備登錄將舊設備T下線的功能

MobileIMSDK里暫時需要自已實現,MobileIMSDK-Web版已經有重復登陸踢下線的功能:http://www.uktmgv.tw/thread-959-1-1.html
簽名: 《主流移動端賬號登錄方式的原理及設計思路》http://www.uktmgv.tw/thread-2863-1-1.html
這是對mina的封裝嗎?
引用:奶瓶 發表于 2017-11-14 00:07
這是對mina的封裝嗎?

MINA只是個讓Java NIO使用更簡單的封裝框架,MobileIMSDK的服務端網絡層是基于MINA寫的,但MobileIMSDK同樣可以直接基于Java的NIO官方API寫,但你不能說MobileIMSDK是對NIO的封裝是一個道理。只是把它當網絡層API用而已。

* 20171216日補充:MobileIMSDK已支持Netty版,請見:https://github.com/JackJiang2011/MobileIMSDK/tree/master/src_all/demos_src/MobileIMSDKServerDemoX_netty
簽名: 《主流移動端賬號登錄方式的原理及設計思路》http://www.uktmgv.tw/thread-2863-1-1.html
學習了
不錯
簽名: 心情好
我想問一下,這個支持離線消息,圖片消息,語音消息嗎?有沒有后臺管理之類的,服務怎么沒有說明?
引用:現實點 發表于 2018-08-09 20:59
我想問一下,這個支持離線消息,圖片消息,語音消息嗎?有沒有后臺管理之類的,服務怎么沒有說明?

MobileIMSDK是個即時通訊的核心層框架,盡量保持它的“輕量”,應用層的業務需要自已去實現,看看下面這幾個帖子里的討論:
[已回復] MobileIMSDK開發音視頻即時通訊、圖片消息的疑問
[已回復] MobileIMSDK如何實現圖片、語音留言信息的發送?
請問有人知道語音留言聊天的主流實現方式嗎?
[已回復] 請教 MobileIMSDK 群聊接口、大文件上傳下載接口
簽名: 《主流移動端賬號登錄方式的原理及設計思路》http://www.uktmgv.tw/thread-2863-1-1.html
引用:JackJiang 發表于 2018-08-09 21:17
MobileIMSDK是個即時通訊的核心層框架,盡量保持它的“輕量”,應用層的業務需要自已去實現,看看下面這 ...

那消息離線呢?按你這樣說的話,你這個產品,就只是一個只能發送消息的IM。其它的都需要再自己擴展是吧?
謝謝分享
引用:現實點 發表于 2018-08-09 23:34
那消息離線呢?按你這樣說的話,你這個產品,就只是一個只能發送消息的IM。其它的都需要再自己擴展是吧?

是的,MobileIMSDK本身就是一個輕量級的通信底層框架,為了盡可能的實現通用性、靈活性、高可管重用性,盡量不涉及任何業務層的具體功能需求和邏輯實現。

這樣拆分的好處是,MobileIMSDK可以放開手解決各種通信層的穩定性、網絡延遲、網各抖動、丟包保證等各種算法問題,應用層也同樣可專注于產品和業務功能本身。這也是我一直認為的,專業的人做專業的事,互不干涉,從而讓使用者沒有門檻,否則每個開始寫代碼的人都需要懂底層、懂原理才能找到最佳 實踐,那要求就高了,也違背了框架設計的初衷。

簽名: 《主流移動端賬號登錄方式的原理及設計思路》http://www.uktmgv.tw/thread-2863-1-1.html
zhichiyixia
簽名: 啊啊啊
請問授權包含服務端的源碼嗎
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特