Jack Jiang

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

          一、基本介紹

          MobileIMSDK的H5端是一套純JS編寫的基于標準WebSocket的即時通訊庫:
          • 1)超輕量級、極少依賴;
          • 2)純JS編寫、高度提煉,簡單易用;
          • 3)基于標準WebSocket協議,客戶端兼容性好;
          • 4)支持運行于iOS、Android等移動端瀏覽器和各種PC端瀏覽器;
          • 5)能與 MobileIMSDKGithub托管鏈接)的各種APP原生代碼客戶端完美互通;
          • 6)可應用于手機端/PC端的網頁聊天應用、企業OA、Web端等即時通訊場景。

          二、與MobileIMSDK的關系

          MobileIMSDK-H5端 是基于標準HTML5的WebSocket協議的 MobileIMSDK配套客戶端庫。

          以下是MobileIMSDK的通信架構圖:

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

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

          PS: MobileIMSDK一直在持續開發和升級中,新Uniapp端是MobileIMSDK工程的最新成果。

          三、與MobileIMSDK-Web的關系

          MobileIMSDK-Web也是一套純JS編寫的Web端即時通訊框架(含服務端)。

          MobileIMSDK-Web框架與MobileIMSDK-H5端的相同點:
          • 1)都是Web端即時通訊框架;
          • 2)都是純JS編寫;
          • 3)都可以運行在手機、pc端的瀏覽器或web容器內。
          MobileIMSDK-Web框架與MobileIMSDK-H5端的不同點:
          • 1)MobileIMSDK-Web可以兼容不支持HTML5的舊版瀏覽器或容器,而MobileIMSDK-H5端必須運行在當前主流的HTML5瀏覽器或容器;
          • 2)MobileIMSDK-Web需依賴于socket.io這種第3方通信層庫,而MobileIMSDK-H5端無任何額外依賴。
          我該如何選型?
          • 選擇一:如果您的應用必須兼容舊版瀏覽器(包括舊版IE等)
            那唯一的選擇就是MobileIMSDK-Web,因為它存在的主要價值就是為了兼容舊版瀏覽器;
          • 選擇二:如果您的應用只需運行在現今主流的HTML5瀏覽器或容器
            那么建議您優先使用MobileIMSDK的H5端,必竟直接調用標準HTML5的WebSocket API,要簡潔、輕量多了,也沒有第3方依賴。

          四、設計目標

          直接使用原生的WebSocket有以下問題和劣勢:
          • 1)功能有限:沒有提供心跳保活、斷線重連、送達保證(重傳和去重)等即時通訊關鍵算法和邏輯;
          • 2)API 簡陋:在如此有限的標準API下,能邏輯清晰和健壯地實現并組合心跳保活、斷線重連、送達保證等算法,需要相當高的技術掌控力
          • 3)邏輯耦合:經驗欠缺的開發人員,會將WebSocket通信代碼與前端UI界面代碼混在一起,使得UI界面的編寫、維護、改版都非常困難。
          針對以上問題,而MobileIMSDK-H5端庫將讓開發者專注于UI應用層的開發,網絡通信層的專業代碼交由SDK開發人員,從而解偶UI前端和通信層的邏輯耦合性,大大降低技術復雜性。

          總結一下,MobileIMSDK-H5端庫的設計目標是為您的Web端IM帶來以下便利:
          • 1)前端與通信解偶:前端UI與網絡通信代碼解耦,UI界面的重構、維護、改版都非常容易和優雅;
          • 2)輕量級和兼容性:受益于標準WebSocket,可很好地運行于現今主流的H5瀏覽器上,且無需額外依賴;
          • 3)核心內聚和收斂:得益于長期的提煉和經驗積累,SDK核心層高度封裝,開發者無需理解復雜算法即可簡單上手。
          • 4)純JS輕量級實現:純JS編寫,無Angular、EmberJS、VUE等各種重量級前端框架依賴,方便對接各種既有系統;

          五、技術亮點

          • 1)輕量易使用:超輕量級——純JS編寫且極少依賴,高度提煉——簡單易用;
          • 2)兼容性很好:基于標準WebSocket,可很好地運行于現今主流的H5瀏覽器上,且無需額外依賴;
          • 3)斷網恢復能力:擁有網絡狀況自動檢測、斷網自動治愈的能力;
          • 4)送達保證機制:完善的QoS消息送達保證機制(自動重傳、消息去重、狀態反饋等),不漏過每一條消息;
          • 5)支持多種設備:支持運行于iOS、Android等移動端瀏覽器和各種PC端瀏覽器;
          • 6)通信協議封裝:實現了一個對上層透明的即時通訊通信協議模型;
          • 7)身份認證機制:實現了簡單合理的身份認證機制;
          • 8)完善的log信息:在開發調試階段,確保每一個算法關鍵步驟都有日志輸出,讓您的運行調試更為便利;
          • 9)前端代碼解耦:實現了UI前端代碼與sdk網絡通信代碼解偶,防止前端代碼跟IM核心代碼混在一起,不利于持續升級、重用和維護;
          • 10)多端協議兼容:實現了與MobileIMSDK各APP端完全兼容的協議模型;

          六、文件組成

          SDK代碼文件概覽:

          SDK代碼文件用途說明:

          七、Demo功能預覽和說明

          八、Demo運行效果實拍圖

          1)Demo在手機端瀏覽器中的真機實拍圖:

          2)Demo在電腦端瀏覽器中的真機實拍圖:

          八、更多Demo運行效果截圖

          1)Demo在PC端瀏覽器運行效果:

           

          2)Demo在手機端瀏覽器運行效果(點擊可看大圖 ▼):

          3)Demo在PC端主流瀏覽器的運行效果(點擊可看大圖 ▼):

          十、詳盡開發者手冊

          ① MobileIMSDK-H5端的詳細介紹:點此查看 ??
          ② MobileIMSDK-H5端的開發手冊(網頁版):點此查看 ??
           MobileIMSDK-H5端的開發手冊(精編PDF版):點此查看 ?? (* 推薦
          ④ MobileIMSDK-開源框架的詳細介紹:https://gitee.com/jackjiang/MobileIMSDK (Github托管鏈接)??

          十一、相關資料

          [1] HTML5 WebSocket API 文檔
          [2] MobileIMSDK開源框架的API文檔
          [3] MobileIMSDK開源IM框架源碼Github地址點此
          [4] MobileIMSDK-Web框架基礎介紹

          posted @ 2024-09-18 10:36 Jack Jiang 閱讀(92) | 評論 (0)編輯 收藏

               摘要: 本文由得物技術厲飛雨、GavinX分享,原題“得物App白屏優化系列|網絡篇”,下文進行了排版和內容優化。1、引言圖片加載作為重中之重的App體驗指標,端側的白屏問題則是其中最為嚴重、也是最為常見的問題之一。想象一下如果你在瀏覽交易商品、社區帖子等核心場景下,圖片無法完成加載是多么糟糕的體驗。如上圖所示,通過線上白屏問題歸因,我們看到網絡問題導致比例最高,占比達81.97%...  閱讀全文

          posted @ 2024-09-12 11:02 Jack Jiang 閱讀(97) | 評論 (0)編輯 收藏

               摘要: 【來源申明】本文引用了微信公眾號“鮮棗課堂”的《老司機揭秘手機定位技術,這下徹底明白啦!》文章內容。為了更好的內容呈現,下文在引用和收錄時內容有改動,轉載時請注明原文來源信息,尊重原作者的勞動。1、系列文章引言1.1適合誰來閱讀?本系列文章盡量使用最淺顯易懂的文字、圖片來組織內容,力求通信技術零基礎的人群也能看懂。但個人建議,至少稍微了解過網絡通信方面的知識后再看,會更有收...  閱讀全文

          posted @ 2024-09-11 12:07 Jack Jiang 閱讀(100) | 評論 (0)編輯 收藏

               摘要: 【來源申明】本文引用了微信公眾號“鮮棗課堂”的《坐高鐵手機沒信號?原因遠比你想的要復雜!》文章內容。為了更好的內容呈現,本文在引用和收錄時內容有改動,轉載時請注明原文來源信息,尊重原作者的勞動。1、系列文章引言1.1適合誰來閱讀?本系列文章盡量使用最淺顯易懂的文字、圖片來組織內容,力求通信技術零基礎的人群也能看懂。但個人建議,至少稍微了解過網絡通信方面的知識后再看,會更有收...  閱讀全文

          posted @ 2024-09-06 12:02 Jack Jiang 閱讀(96) | 評論 (0)編輯 收藏

          本文由攜程技術Jim分享,原題“日訪問過億,辦公IM及開放式平臺在攜程的實踐”,下文進行了排版和內容優化。

          1、引言

          攜程內部的辦公IM項目最早在2016年立項,經歷了初期簡單辦公場景下的純IM服務,到支持簡單辦公組件的IM應用,又演變為一體化辦公集成平臺,進而演變為目前集成IM功能的開放式企業效率平臺。

          本文總結了攜程辦公IM這些年的發展歷程及未來的演進方向,并著重從高可用、高性能和可擴展的角度,探討開放式平臺的技術實現及發展方向。

           
           

          2、關于作者

          Jim:攜程高級研發經理,關注Java & Go技術棧后端研發。目前致力于TripPal開放平臺的高可用、開放化進程及核心衍生服務。

          3、什么是IM

          IM(Instant Message)即時消息,是一種通過網絡提供實時消息傳輸的在線溝通技術。

          在移動互聯網時代,IM的使用變得越來越廣泛,通過各種技術手段使得用戶之間的交流成本變的極低,溝通效率和用戶體驗有極大的提升。而且IM的出現極大地改變了目前互聯網應用的形態,多數互聯網應用只要做到了一定規模,一定會有自身IM的需求,而不是單純地僅僅依托第三方(例如微信、云信等)。

          PS:關于什么是IM,您也可詳讀專題文章《零基礎IM開發入門(一):什么是IM系統?》。

          4、 攜程辦公IM的發展歷程

          早期攜程使用微軟的IM軟件lync和自研的純IM軟件CtripTeam來支持企業內的溝通需求,這些軟件在維護性、拓展性和可用性上都或多或少存在一些缺陷。同時隨著互聯網的發展,也逐漸不適合日益增長的辦公需求和用戶體驗。

          2017年左右,使用基于ejabberd+erlang的自研IM服務的Cchat項目應運而生,該項目的主要目標是在采用自研IM的基礎上,實現IM與辦公的結合。在完善IM服務的基礎上,支持了一些常規的辦公場景,如電話、假單、考勤、OA等,通常采用嵌入外部頁面、跳轉外部地址等方式提供服務。這個改造項目奠定了攜程辦公IM繼續發展的基礎。

          隨著項目的深入,最初的系統交互模式及服務管理模式逐漸不適用越來越復雜的辦公場景及服務治理需求。于是在2019年上馬了TripPal的改造項目,在結合公司國際化戰略的基礎上,傾力打造小程序平臺,服務號等基礎服務。在梳理、優化原有服務的同時,打造了諸多衍生服務。

          2020年中開始,在繼續推進企業內辦公一站式平臺的基礎上,我們需要支持更多的外部場景,實際需求促使我們向開放式平臺轉型,這在服務整體架構、安全性、擴展性等方面都提出了新的要求及挑戰。

          5、攜程TripPal開放平臺總體架構

          5.1Gateway網關層

          這一層是所有請求調用流量的入口,主要功能如下:

          • 1)服務路由;
          • 2)集中式限流、風控、日志監控等功能;
          • 3)調用IDS (Identity Service) 驗證請求的合法性。

          第 3)步中驗證通過后,可以將用戶ID、Token等基本信息,通過 HttpHeader 的方式向后端服務透傳,后端服務可以直接使用UserID,也可以再次對Token進行認證

          5.2IDS (Identity Service) 服務

          IDS同時支持多種不同類型的訪問令牌的鑒權,同時還負責令牌的頒發,以及RBAC+模塊級別的接口控權。

          另外,針對開放小程序,TripPal提供兩種認證方式:

          1)常規的Oauth第三方模式接入:

          2)另一種是基于Oauth+開放平臺簽名的第三方認證,對于接入方相對簡單:

          5.3微服務層

          這一層是整個系統的業務層,具體包含三種類型的微服務:

          • 1)TripPal開放平臺內部系統微服務:只有在特定用戶認證和權限驗證通過之后,外部才能訪問;
          • 2)開放平臺對外提供的OpenAPI:采用Oauth+RBAC的方式控制權限;
          • 3)自研小程序后端服務:根據安全需要,所有使用Oauth+模塊權限的第一方小程序服務端。

          目前TripPal自身的核心微服務應用達到28個,提供全集團的多端(C端、B端)基礎服務能力,服務全公司超過500個業務應用,在線C端用戶均值超過2萬,日訪問量超過億。

          6、 TripPal的IM服務

          目前TripPal使用完全自研的基于Java實現的類ejabberd架構,底層采用的XMPP協議進行通訊。

          Tips:

          XMPP全稱是ExtensibleMessageing and Presence Protocol,可擴展消息與存在協議。是目前網絡上開源,最靈活,應用最廣泛的一種即時消息通信協議。

          1999年Jeremie Miller,首先提出了Jabber,一種為實現即時消息和存在的開放技術,后續基于這個協議,開發了一個開源的服務實現jabberd。后續,IETF國際標準組織介入,成立Extensible Messageing and Presence Protocol(XMPP)工作組,并開始標準化工作。

          2000年,jabberd服務器1.0版本發布,那時Jabber協議的基本特點(基于XML的流,消息,存在,聯系人列表等)都被固定下來。

          2004年,IETF出版了RFC 3902和RFC3921,定義了XMPP的核心功能,成為推薦標準。

          后續在2011年,IETF出版了RFC6120和RFC 6121,更新了XMPP的核心定義,替代了之前的RFC 3920和3921。

          目前XMPP協議被XMPP Standards Foundation負責管理運作,集中于在IETF定義的基礎XMPP規范之上,如何開發開放的協議擴展。

          IM服務端做了大量的系統性的優化,從底層的數據庫調優、底層通訊服務升級,到上層消息、群、群成員等核心功能的大幅改造。

          底層通訊服務由之前的erlang完整遷移至java技術棧,服務可靠性、彈性伸縮、安全性和性能獲得了提升。同時對上層偏業務的服務進行了改造,極大地提升了接口響應,服務穩定性也得到了提升,為整個產品的研發提供了重要支撐。

          目前這套自研的IM 3.0服務在生產環境穩定運行,整體資源消耗比2.0時期有較大下降。

          7、 TripPal辦公衍生服務

          7.1概述

          在實際的企業辦公場景下,尤其是大型企業復雜組織架構和管理模式的場景下,TripPal逐漸摸索出了自己的一套行之有效且契合攜程場景的辦公智能應用,如搜索中臺,消息卡片,智能審批中臺,角色服務,工作流引擎等。

          本文簡單介紹其中3個服務。

          7.2智能審批中臺

          智能審批中臺在集成攜程自有的審批系統的同時也集成了自研的智能審批配置服務,該服務支持用戶自定義整個審批單及審批流的全部細節。

           

          7.3角色服務

          角色服務在靈活定義角色范圍及基礎角色的基礎上,支持用戶靈活調整,動態管理,且自動接入審批中臺,同時打通應用對接渠道。

          整個角色服務在產品定義上分為如下表4個主要概念:

          7.4在線文檔

          在線文檔服務主要提供文檔的在線協作能力,支持用戶同時/實時的查看、編輯、保存和分享的能力。同時結合IM實現通知和反饋等功能。

          技術實現上,在線文檔是采用CRDT算法實現的無沖突merge(LastWrite Wins)、多端最終一致的分布式方案,同時兼具高可用、可容錯的特性,在服務器發生故障時,允許Shift至另一臺機器上繼續執行,即使服務端完全宕機,客戶端依然能夠離線工作。

          8、 TripPal高可用的實踐

          目前TripPal部署在3個機房,分為公有云1個機房及私有云2個機房。

          總體架構在應用多機房部署、數據層跨機房DRC的基礎上,采用就近訪問的原則進行服務訪問,其中一旦發生任意2個機房全掛的情況,都能保證系統內的核心應用仍能提供服務。

          其中公有云機房的一期部署方案已經完成,二期部署方案和測試計劃預計于7月完成,屆時可以和大家分享一下混合云方案的一些細節和歷程。

          9、 開放平臺的未來架構及演進方向

          9.1概述

          開放平臺主要面向兩類群體,開發者和用戶。

          所以主要有兩個方向:

          1)一是便捷開發,主要圍繞降低開發者門檻、較低研發成本,打通不同開發者、應用之間的壁壘,實現生態共享。

          2)另一方面,針對實際用戶,在提高用戶體驗、數據安全的同時,實現用戶服務能力整合和主動發現。

          9.2開發者

          在這方面,目前主流開放平臺已經對開發者提供了強大的支持。

          主要形式分為以下3種。

          1)前端信任:

          前端信任的目的是通過減少或杜絕開發者后端跟開放平臺OpenAPI交互的方式,來降低開發者接入門檻,減少工作量。主要的做法是通過權限控制、簽名、加密等手段使得小程序能夠在前端拿到可信數據。

          2)低代碼(Low-Code):

          由于大量的互聯網業務屬于簡單交互或模型化交互,以此為出發點,基于構建合理模型、簡單業務函數等形式,可以允許開發者通過拖拽組件、簡單偽業務代碼等形式提供編程入口,可以大幅度降低開發者的研發門檻和成本,打破用戶和開發者界線,提高開放平臺整體生態的活力。

          3)ServerLess:

          基于云原生的ServerLess結合低代碼,開放開發者的云端編程入口,同時提供云端基礎組件,允許開發者無需部署實際的后端應用服務,極大降低的開發者的運營維護門檻。

          9.3用戶層面

          目前業界主流開放平臺在對用戶本身的服務能力整合和挖掘上,投入的都比較少,也沒有比較成熟的實踐,我們認為在這方面可以圍繞兩個點展開。

          一方面:第三方應用治理模式向商城化的轉型。常規開放平臺的應用治理和推廣,基本是應用方獨立管理和推廣,但是隨著應用數量的大幅度增加,以及應用方單方面推廣難度較大等原因,亟需開放平臺從生態整體角度進行支持和治理。這樣可以在安全性、可維護性、便捷性等維度上對應用進行正向反饋,實現開放平臺應用生態的可持續性和能力共享。同時,在特定場景下,結合用戶分析、大數據及AI,提高用戶主動或被動的應用發現能力。

          另一方面:構建符合應用間開放協議的軟件聯盟,打破應用壁壘,圍繞服務集成、開放應用的核心原則,使得不同的互聯網業務或行為在一定程度上實現數據/能力共享。一般情況下,一個復雜互聯網業務通常由多個異構子業務/子應用構成,這樣,通過應用拆分、開放共享等形式,在一定程度上使復雜的互聯網業務更加精細化、輕量化、可擴展。

          9.4開放平臺標準化、互通

          目前國內外各大互聯網公司、機構和組織都搭建了多種開放平臺,用于提供各種各樣的信息服務,在可以預見的未來,各個平臺之間會有一個整合、標準化、互通的可能性。

          那么構建標準開放協議,使得開放平臺向底層沉淀的過程則至關重要。

          10、 本文小結

          通過實現基本IM開放平臺架構,以及各種衍生服務,我們總結出了IM開放平臺的一些核心能力。

          主要是:

          • 1)服務集成:根據不同的業務場景集成并提供相應場景下的基礎服務能力;
          • 2)開放應用:提供第三方接入能力;
          • 3)高性能、高可用。

          11、參考資料

          [1] 零基礎IM開發入門(一):什么是IM系統?

          [2] 從零到卓越:京東客服即時通訊系統的技術架構演進歷程

          [3] 瓜子IM智能客服系統的數據架構設計(整理自現場演講,有配套PPT)

          [4] 從游擊隊到正規軍(一):馬蜂窩旅游網的IM系統架構演進之路

          [5] 一套高可用、易伸縮、高并發的IM群聊、單聊架構方案設計實踐

          [6] 淺談IM系統的架構設計

          [7] 簡述移動端IM開發的那些坑:架構設計、通信協議和客戶端

          [8] 一套海量在線用戶的移動端IM架構設計實踐分享(含詳細圖文)

          [9] 一套原創分布式即時通訊(IM)系統理論架構方案

          [10] 一套億級用戶的IM架構技術干貨(上篇):整體架構、服務拆分等

          [11] 從新手到專家:如何設計一套億級消息量的分布式IM系統

          [12] 企業微信的IM架構設計揭秘:消息模型、萬人群、已讀回執、消息撤回等

          [13] 阿里IM技術分享(三):閑魚億級IM消息系統的架構演進之路

          [14] 基于實踐:一套百萬消息量小規模IM系統技術要點總結

          [15] 跟著源碼學IM(十):基于Netty,搭建高性能IM集群(含技術思路+源碼)

          [16] 一套十萬級TPS的IM綜合消息系統的架構實踐與思考

          [17] 直播系統聊天技術(八):vivo直播系統中IM消息模塊的架構實踐

          [18] 融云技術分享:全面揭秘億級IM消息的可靠投遞機制

          [19] 得物從0到1自研客服IM系統的技術實踐之路

          [20] 一套分布式IM即時通訊系統的技術選型和架構設計

          [21] 微信團隊分享:來看看微信十年前的IM消息收發架構,你做到了嗎


          (本文已同步發布于:http://www.52im.net/thread-4690-1-1.html

          posted @ 2024-08-29 15:45 Jack Jiang 閱讀(97) | 評論 (0)編輯 收藏

               摘要: 【來源申明】本文引用了微信公眾號“網優雇傭軍”的《是誰偷走了我家的手機信號?》文章內容。為了更好的內容呈現,下文在引用和收錄時內容有改動,轉載時請注明原文來源信息,尊重原作者的勞動。1、系列文章引言1.1適合誰來閱讀?本系列文章盡量使用最淺顯易懂的文字、圖片來組織內容,力求通信技術零基礎的人群也能看懂。但個人建議,至少稍微了解過網絡通信方面的知識后再看,會更有收獲。如果您大...  閱讀全文

          posted @ 2024-08-21 17:53 Jack Jiang 閱讀(102) | 評論 (0)編輯 收藏

               摘要: 本文由得物技術厲飛雨分享,原題“得物App弱網診斷探索之路”,下文進行了排版和內容優化。1、引言隨著得物用戶規模和業務復雜度不斷提升,端上網絡體驗優化已逐步進入深水區。為了更好地保障處于弱網狀態下得物App用戶的使用體驗,我們在已有的網絡體驗大盤、網絡診斷工具的基礎上研發了弱網診斷能力。該工具能夠高效實時診斷用戶真實網絡環境,同時給出精確網絡質量分級,為后續App各業務場景...  閱讀全文

          posted @ 2024-08-15 11:08 Jack Jiang 閱讀(113) | 評論 (0)編輯 收藏

               摘要: 本文來自騰訊手Q基礎架構團隊楊蕭玉、邱少雄、張自蹊、王褚重天、姚偉斌的分享,原題“QQ 客戶端性能穩定性防劣化系統 Hodor 技術方案”,下文進行了排版和內容優化。1、引言接上篇《首次公開,最新手機QQ客戶端架構的技術演進實踐》。防劣化是比較經典的技術話題,手 Q 的防劣化系統從 2021 年 10 月開始投入研發,從 0 到 1 迭代了將近三年的時間,已經達到了業界先進...  閱讀全文

          posted @ 2024-08-02 10:38 Jack Jiang 閱讀(101) | 評論 (0)編輯 收藏

          關于RainbowChat

          RainbowChat是一套基于開源IM聊天框架 MobileIMSDK 的產品級移動端IM系統。RainbowChat源于真實運營的產品,解決了大量的屏幕適配、細節優化、機器兼容問題(可自行下載體驗:專業版下載安裝)。

          * RainbowChat可能是市面上提供im即時通訊聊天源碼的,唯一一款同時支持TCP、UDP兩種通信協議的IM產品(通信層基于開源IM聊天框架  MobileIMSDK 實現)。

          ► 詳細產品介紹:http://www.52im.net/thread-19-1-1.html
          ► 版本更新記錄:http://www.52im.net/thread-1217-1-1.html
          ► 全部運行截圖:Android端iOS端
          ► 在線體驗下載:專業版(TCP協議)專業版(UDP協議)      (關于 iOS 端,請:點此查看

          關于MobileIMSDK

          MobileIMSDK 是一套專門為移動端開發的開源IM即時通訊框架,超輕量級、高度提煉,一套API優雅支持UDP 、TCP 、WebSocket 三種協議,支持iOS、Android、H5、小程序、Uniapp、標準Java平臺,服務端基于Netty編寫。

          工程開源地址是:

          v11.6 版更新內容

          此版更新內容更多歷史更新日志):

          (1)Android端主要更新內容:

          • 1)[bug] 解決了APP從后臺恢復時,有一定幾率因后臺多線程操作好友數據導致的線程安全崩潰問題;
          • 2)[優化] 加固了一處好友列表中根據昵稱取拼音首字母的非空檢查邏輯;

          (2)服務端主要更新內容:

          • 1)[bug] 升級了MobileIMSDK至v6.5,嘗試解決極小幾率下Android端會誤把“自已”踢掉的問題
          • 2)[bug] 解決了因Netty庫版本升級導致iOS消息推送失敗報錯的問題:
          • 3)[bug] 解決了消息撤回時,被引用消息的歷史記錄沒有正確處理撤回邏輯;
          • 4)[優化] 為“接口1008-26-7”增加了“at_me”字段的返回;
          • 5)[優化] 優化了“接口1008-26-8”,使得在跟Web互通時支持按時間戳的聊天記錄分頁加載方案;
          • 6)[優化] 為“接口1008-26-8”增加了“消息發送者昵稱”內容的返回;

          部分功能運行截圖更多截圖點此查看):

          posted @ 2024-07-26 12:57 Jack Jiang 閱讀(103) | 評論 (0)編輯 收藏

          一、關于RainbowChat-Web

          RainbowChat-Web是一套Web網頁端IM系統,是RainbowChat的姊妹系統(RainbowChat是一套基于開源IM聊天框架 MobileIMSDK (Github地址)  的產品級移動端IM系統)。

          二、v7.1 版更新內容

          此版更新內容更多歷史更新日志):

          • 1)[bug] [前端]   - 解決了轉發語音消息后,語音消息ui氣泡css樣式問題;
          • 2)[bug] [前端]   - 解決了登陸后首次打開對應聊天界面前收到的新消息和歷史消息顯示順序問題;
          • 3)[bug] [前端]   - 解決了刪除聊天后,沒有自動清除聊天界面上的“加載更多”功能按鈕;
          • 4)[bug] [前端]   - 解決了引用陌生人消息時,顯示的是uid而不是對方昵稱的問題;
          • 5)[bug] [前端]   - 解決了群主撤回群員消息時,系統通知中顯示的是uid而不是對方昵稱的問題;
          • 6)[優化] [前端]   - 優化了引用的消息內容中表情圖標導致引用的文字不能垂直居中顯示的ui問題;
          • 7)[優化] [前端]   - 優化了群聊中消息發送者昵稱的顯示;
          • 8)[優化] [服務端] - 為“接口1008-26-8”增加了“消息發送者昵稱”內容的返回;

          三、主要功能特性截圖

          主要功能特性截圖(更多運行截圖運行視頻

          posted @ 2024-07-26 11:42 Jack Jiang 閱讀(85) | 評論 (0)編輯 收藏

          僅列出標題
          共50頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 
          Jack Jiang的 Mail: jb2011@163.com, 聯系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 沧源| 林州市| 丹阳市| 宽城| 中江县| 永福县| 聊城市| 德安县| 苍南县| 炉霍县| 沈阳市| 绿春县| 安徽省| 象州县| 读书| 寿宁县| 湘乡市| 清镇市| 云南省| 府谷县| 镇远县| 米林县| 苗栗县| 祥云县| 双流县| 建宁县| 镇江市| 晋宁县| 济阳县| 瑞昌市| 红桥区| 镇平县| 阳城县| 长沙县| 手游| 饶河县| 南川市| 台东县| 疏附县| 凌源市| 新源县|