版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
主要內(nèi)容IMSDK基本要素IMSDK架構開發(fā)IMSDK的挑戰(zhàn)與應對主要內(nèi)容IMSDK基本要素IMSDK的基本要素連接管理消息會話好友管理通知實時音視頻擴展IMSDK的基本要素連接管理長連接與短連接SDKIM
ServerHTTP
Server心跳消息消息上傳長連接與短連接SDKIMServerHTTPServer長連接TCP連接及時收到服務器的推送占用服務器大量資源長連接TCP連接短連接HTTP連接前端發(fā)起HTTP請求,通常情況下每次請求都會創(chuàng)建個新連接(設置keep-alive除外),每次返回數(shù)據(jù)后server就會關閉連接服務器不會特殊管理連接,減輕服務器負擔短連接HTTP連接心跳保活定時通知服務器連接存在服務器設定TCP
keep-alive
time過期沒有收到數(shù)據(jù)啟動探針多次探測沒有收到前端響應,關掉相應連接即時刷新路由器NAT(
NetworkAddressTranslation)內(nèi)外網(wǎng)IP映射表只保存最新連接老連接會被移除心跳?;疃〞r通知服務器連接存在連接DNS配置防止DNS劫持獲取DNS配置列表不同的APP會對應不同的Server
IP連接DNS配置防止DNS劫持重連重連原因主動斷網(wǎng),切網(wǎng)服務器主動斷開連接(connection
reset
by
peer)路由器外網(wǎng)斷開永遠重連New
thread.start
->wait(random(time))
while(true
and
not
coneccted){
reconnect()
wait(random(time))}始終保持同一個連接實例避免自踢重連重連原因消息消息IDGlobal
Unique
ID消息類型收發(fā)方IDTo,
FromBind
ResourceMobilePC消息bodyIDfromtobodyBindtype消息消息IDIDfromtobodyBindtype<messageid=“0123456789”To=uni3From=un8/mobiletype="chat"><body>{"from":"uni8","to":"uni3","bodies":[{"type":"txt","msg":"測試"}],"ext":{}}</body></message><messageid=“0123456789”支持多種聊天模型單聊群組模型聊天室模型支持多種消息類型Text,Image,VideoFile透傳消息支持擴展消息支持多種聊天模型消息發(fā)送與回執(zhí)消息發(fā)送與回執(zhí)離線消息離線消息對方不在線,沒有相應的session服務器沒有收到收方的回執(zhí)消息體內(nèi)含離線標識獲取方式服務器推大量離線導致效率低下送(push)試想如果推送2000條離線?客戶端拉取(pull)根據(jù)消息ID獲取逐頁去獲取離線消息離線消息附件消息圖片,語音,視頻,文件,等類型的消息統(tǒng)一為附件消息如何發(fā)送方案一直接走長連接方案二先上傳附件到服務器獲取附件UID再把載有UID的IM消息IM
Server收方讀取消息,根據(jù)UID下載附件到本地大小限制附件消息圖片,語音,視頻,文件,等類型的消息統(tǒng)一為附件消息附件消息附件消息會話管理消息管理消息查詢,刪除,插入批量消息加載批量消息導入消息發(fā)送已讀標記會話管理消息管理好友管理添加好友刪除好友黑名單管理群組管理好友管理添加好友添加好友添加好友通知事件通知新消息,已讀,已送達通知API回調(diào)加減聯(lián)系人,群組,聊天室相關通知SDK只負責消息通知SDK不負責鈴聲,震動,提醒等定制化模塊通知事件通知實時音視頻支持實時音視頻使用Jingle
XMPP擴展協(xié)議作為控制信令使用ICE作為P2P打洞協(xié)議支持媒體relay中繼功能多人語音功能內(nèi)部測試中實時音視頻支持實時音視頻支持擴展消息的擴展通過擴展屬性會話的擴展通過擴展字段其他擴展,如安全性通過插件擴展支持擴展消息的擴展總體設計總體設計模塊的劃分平臺層會根據(jù)各平臺的不同,實現(xiàn)不同的接口,開放符合平臺層的API給第三方開發(fā)者。
適配層主要要適配到ONESDK核心層所需要的一些接口,起到承上啟下的作用。
核心層主要提供IM功能和業(yè)務邏輯,保證最大化的代碼重用模塊的劃分平臺層會根據(jù)各平臺的不同,實現(xiàn)不同的接口,開放符合AppvsSDK共同點:易用性,穩(wěn)定性,可擴展等用戶vs開發(fā)者單一平臺vs多平臺功能多vs接口少(RichfeaturesvsLessAPIs)可裁剪性對待錯誤的使用:忽略vs提示測試出發(fā)點:模擬用戶vs模擬程序員?安全性NotasgeneralsinglefunctionSDKsuchasvoicerecognition,map,etcAppvsSDK共同點:易用性,穩(wěn)定性,可擴展等LessAPIFa?adePatternPrivateclassdataLessAPIFa?adePattern裁剪性用戶需求不同,可以選擇配置不同的功能基礎功能+群組功能+實時音視頻裁剪性用戶需求不同,可以選擇配置不同的功能安全性插件式設計用戶可以提供自己的加密方式安全性插件式設計日志日志開關日志級別日志內(nèi)容日志日志開關測試單元測試-
Unit
TestAPI
TestDeveloper’s
taskCode
will
be
rejected
without
unit
test集成測試-
Integration
Test性能測試穩(wěn)定性測試手動測試-
Manual
Test功能性測試用戶體驗測試測試單元測試-UnitTestMore?KeepItSimple,Stupid(KISS)S.O.L.I.DSingleResponsibilityPrinciple(SRP)Open/ClosedPrinciple(OCP)Liskovsubstitutionprinciple(LSP)InterfaceSegregationPrinciple(ISP)DependencyInversionPrinciple(DIP)
WriteCodefortheMaintainerMore?KeepItSimple,Stupid(KQ&A環(huán)信SDK的基礎架構體系課件主要內(nèi)容IMSDK基本要素IMSDK架構開發(fā)IMSDK的挑戰(zhàn)與應對主要內(nèi)容IMSDK基本要素IMSDK的基本要素連接管理消息會話好友管理通知實時音視頻擴展IMSDK的基本要素連接管理長連接與短連接SDKIM
ServerHTTP
Server心跳消息消息上傳長連接與短連接SDKIMServerHTTPServer長連接TCP連接及時收到服務器的推送占用服務器大量資源長連接TCP連接短連接HTTP連接前端發(fā)起HTTP請求,通常情況下每次請求都會創(chuàng)建個新連接(設置keep-alive除外),每次返回數(shù)據(jù)后server就會關閉連接服務器不會特殊管理連接,減輕服務器負擔短連接HTTP連接心跳保活定時通知服務器連接存在服務器設定TCP
keep-alive
time過期沒有收到數(shù)據(jù)啟動探針多次探測沒有收到前端響應,關掉相應連接即時刷新路由器NAT(
NetworkAddressTranslation)內(nèi)外網(wǎng)IP映射表只保存最新連接老連接會被移除心跳保活定時通知服務器連接存在連接DNS配置防止DNS劫持獲取DNS配置列表不同的APP會對應不同的Server
IP連接DNS配置防止DNS劫持重連重連原因主動斷網(wǎng),切網(wǎng)服務器主動斷開連接(connection
reset
by
peer)路由器外網(wǎng)斷開永遠重連New
thread.start
->wait(random(time))
while(true
and
not
coneccted){
reconnect()
wait(random(time))}始終保持同一個連接實例避免自踢重連重連原因消息消息IDGlobal
Unique
ID消息類型收發(fā)方IDTo,
FromBind
ResourceMobilePC消息bodyIDfromtobodyBindtype消息消息IDIDfromtobodyBindtype<messageid=“0123456789”To=uni3From=un8/mobiletype="chat"><body>{"from":"uni8","to":"uni3","bodies":[{"type":"txt","msg":"測試"}],"ext":{}}</body></message><messageid=“0123456789”支持多種聊天模型單聊群組模型聊天室模型支持多種消息類型Text,Image,VideoFile透傳消息支持擴展消息支持多種聊天模型消息發(fā)送與回執(zhí)消息發(fā)送與回執(zhí)離線消息離線消息對方不在線,沒有相應的session服務器沒有收到收方的回執(zhí)消息體內(nèi)含離線標識獲取方式服務器推大量離線導致效率低下送(push)試想如果推送2000條離線?客戶端拉取(pull)根據(jù)消息ID獲取逐頁去獲取離線消息離線消息附件消息圖片,語音,視頻,文件,等類型的消息統(tǒng)一為附件消息如何發(fā)送方案一直接走長連接方案二先上傳附件到服務器獲取附件UID再把載有UID的IM消息IM
Server收方讀取消息,根據(jù)UID下載附件到本地大小限制附件消息圖片,語音,視頻,文件,等類型的消息統(tǒng)一為附件消息附件消息附件消息會話管理消息管理消息查詢,刪除,插入批量消息加載批量消息導入消息發(fā)送已讀標記會話管理消息管理好友管理添加好友刪除好友黑名單管理群組管理好友管理添加好友添加好友添加好友通知事件通知新消息,已讀,已送達通知API回調(diào)加減聯(lián)系人,群組,聊天室相關通知SDK只負責消息通知SDK不負責鈴聲,震動,提醒等定制化模塊通知事件通知實時音視頻支持實時音視頻使用Jingle
XMPP擴展協(xié)議作為控制信令使用ICE作為P2P打洞協(xié)議支持媒體relay中繼功能多人語音功能內(nèi)部測試中實時音視頻支持實時音視頻支持擴展消息的擴展通過擴展屬性會話的擴展通過擴展字段其他擴展,如安全性通過插件擴展支持擴展消息的擴展總體設計總體設計模塊的劃分平臺層會根據(jù)各平臺的不同,實現(xiàn)不同的接口,開放符合平臺層的API給第三方開發(fā)者。
適配層主要要適配到ONESDK核心層所需要的一些接口,起到承上啟下的作用。
核心層主要提供IM功能和業(yè)務邏輯,保證最大化的代碼重用模塊的劃分平臺層會根據(jù)各平臺的不同,實現(xiàn)不同的接口,開放符合AppvsSDK共同點:易用性,穩(wěn)定性,可擴展等用戶vs開發(fā)者單一平臺vs多平臺功能多vs接口少(RichfeaturesvsLessAPIs)可裁剪性對待錯誤的使用:忽略vs提示測試出發(fā)點:模擬用戶vs模擬程序員?安全性NotasgeneralsinglefunctionSDKsuchasvoicerecognition,map,etcAppvsSDK共同點:易用性,穩(wěn)定性,可擴展等LessAPIFa?adePatternPrivateclassdataLessAPIFa?adePattern裁剪性用戶需求不同,可以選擇配置不同的功能基礎功能+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司文化建設與企業(yè)文化培育文獻集題目錄清單
- 2025年杭州市濱江區(qū)消防救援大隊面向社會公開招聘文員備考題庫有答案詳解
- 華能山東石島灣核電有限公司2026年度校園招聘備考題庫參考答案詳解
- 2025年山東外國語職業(yè)技術大學教師招聘105人備考題庫及完整答案詳解一套
- 100.二維納米材料分析技術卷
- 交通土建施工方案(3篇)
- 倒掛井-施工方案(3篇)
- 小店水管施工方案(3篇)
- 橋墩改造施工方案(3篇)
- 2025年中南財經(jīng)政法大學工商管理學院勞務派遣人員招聘備考題庫有答案詳解
- 2026年安全生產(chǎn)管理培訓課件與事故預防與應急處理方案
- 2026天津市靜海區(qū)北師大實驗學校合同制教師招聘81人(僅限應屆畢業(yè)生)考試筆試備考題庫及答案解析
- 2025陜西陜煤澄合礦業(yè)有限公司招聘570人參考筆試題庫及答案解析
- 2025年倉儲服務外包合同協(xié)議
- 2025遼寧沈陽金融商貿(mào)經(jīng)濟技術開發(fā)區(qū)管理委員會運營公司招聘60人考試歷年真題匯編帶答案解析
- 2025年刑法學考試試題及答案
- 廣東省汕頭市金平區(qū)2024-2025學年七年級上學期期末地理試題
- 2025年二手車交易市場發(fā)展可行性研究報告及總結分析
- 北京市交通運輸綜合執(zhí)法總隊軌道交通運營安全專職督查員招聘10人考試參考題庫附答案解析
- 湘教版八年級地理上冊 第三章《中國的自然資源》單元測試卷及答案
- 2025湘教版八年級地理上冊期末復習全冊知識點提綱
評論
0/150
提交評論