久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

四端IM源碼落地:消息鏈路、多端同步與二開驗收

四端IM源碼落地:消息鏈路、多端同步與二開驗收 簡介面向具備一定開發(fā)基礎(chǔ)、希望自建即時通訊系統(tǒng)的團隊與個人提供一套2024年親測可搭建的視酷酷信IM源碼覆蓋安卓、蘋果、PC與Web四端互通并附教程與解析材料便于理解整體架構(gòu)、部署流程及二次開發(fā)方向。壓縮包共9個文件以6個txt源碼解析和說明、1個doc文檔、1個html頁面及1張jpg圖片為主整體約99KB內(nèi)容側(cè)重四端互通實現(xiàn)、基于tio通信技術(shù)的方案說明與Linux/CentOS部署要點。已有500人瀏覽學(xué)習(xí)。讀者可據(jù)此梳理Java、OC、C#、vue多語言客戶端與服務(wù)端結(jié)構(gòu)參考MongoDB存儲、單機萬人并發(fā)及集群擴展思路并圍繞商城等模塊進行二開評估文檔還涉及強拖與雙空間切換等實現(xiàn)解析適合作為自建IM項目的技術(shù)選型與搭建參考。1. 拿到四端 IM 源碼先別急著跑從一條消息鏈路判斷能不能落地如果你在 Safari 里打開 Web 端消息能發(fā)出去但對方頭像不刷新這套四端 IM 源碼包就值得先拆鏈路再談部署。它給的是即時通訊系統(tǒng)的整包源碼和搭建教程賬號、會話、消息、離線、多端同步這些基礎(chǔ)件都在適合有技術(shù)能力、準備二次開發(fā)加商城或做私有化溝通模塊的團隊。重點不是“能不能啟動”而是登錄態(tài)、消息序號、離線補償在四端是否一致先驗證四端互通再決定改哪里。別把它當(dāng)一鍵安裝包先按一條消息從發(fā)送到落庫、再到另一端點亮的路徑走一遍。2. 拆清四端互通賬號、會話、消息三條主線怎么落到源碼目錄這套源碼包的價值不在“端多”而在四端共用同一套賬號、會話和消息語義。很多團隊拿到包后第一件事是找啟動腳本結(jié)果服務(wù)起來了Web 端能發(fā)文字桌面端收不到移動端未讀數(shù)對不上最后又回頭猜協(xié)議。我一般會先把源碼目錄按“入口、協(xié)議、存儲、客戶端”四塊切開再按一條消息的生命周期做驗收不先改 UI也不先接商城。2.1 先定協(xié)議邊界四端不是四套邏輯四端互通最常見的誤區(qū)是把桌面端、Web 端、移動端 A、移動端 B 當(dāng)成四個獨立項目。實際能跑通的 IM 源碼包通常會把登錄鑒權(quán)、會話列表、消息收發(fā)、已讀回執(zhí)、離線補償放在公共服務(wù)端客戶端只負責(zé)連接、渲染和本地緩存。你要找的不是“哪個頁面好看”而是 WebSocket 握手入口、HTTP 登錄接口、消息落庫點、離線拉取接口這四個位置。先跑目錄掃描不要憑文件名猜。下面這組命令只做定位不改源碼cd 源碼目錄 # 找項目類型和依賴入口 find . -maxdepth 3 \( -name package.json -o -name pom.xml -o -name composer.json -o -name go.mod \) -print # 找 IM 相關(guān)入口先看命名再進文件 find . -maxdepth 4 \( -iname *websocket* -o -iname *socket* -o -iname *message* -o -iname *conversation* \) -print | head -80maxdepth控制掃描深度避免一上來把依賴目錄全翻出來-iname不區(qū)分大小寫適合源碼包命名不統(tǒng)一的場景head -80是防止輸出太長先看命名密度。掃完后把命中文件按“連接層、消息層、存儲層”貼標簽后面改任何功能都從這三層找落點不要直接改客戶端頁面。四端驗收時我會先做一張最小對照表不追求功能全只追求語義一致端先看什么最小驗收點Web 端登錄態(tài)存儲、WebSocket 重連刷新頁面后會話不丟Safari 下能收到在線消息桌面端本地緩存、窗口切換切到后臺再回來未讀數(shù)不重復(fù)累加移動端 A前后臺切換、離線拉取殺進程后重進能補到斷線期間的消息移動端 B多設(shè)備登錄、踢線策略同賬號兩端在線時消息序號不交叉這張表不是產(chǎn)品需求而是拆包順序。只要其中一端出現(xiàn)“消息到了但會話沒更新”就回到服務(wù)端看消息落庫和會話摘要是不是兩個事務(wù)只要出現(xiàn)“兩端順序不同”就回到消息序號和客戶端排序邏輯。四端互通不是四個客戶端各自修而是公共服務(wù)端的語義先統(tǒng)一。2.2 啟動順序先服務(wù)端健康檢查再客戶端聯(lián)調(diào)源碼包帶教程是好事但教程通常寫“先安裝依賴再啟動服務(wù)”不會告訴你失敗時先看哪一層。我的順序是先看運行環(huán)境要求再起服務(wù)端再做 HTTP 健康檢查最后才開客戶端。不要一上來四端全開否則日志會混在一起出了問題不知道是連接層還是業(yè)務(wù)層。先按包內(nèi)說明確認運行環(huán)境不要盲目升級大版本。很多 IM 源碼包對運行時版本有隱含要求尤其是 WebSocket 庫和加密庫升級后握手失敗很常見。cd 源碼目錄 # 先看教程和配置文件確認端口、數(shù)據(jù)庫、緩存、上傳目錄 ls -la find . -maxdepth 2 \( -iname readme* -o -iname *.env* -o -iname *config* \) -print | head -60 # 按包內(nèi)教程啟動服務(wù)端下面用占位腳本表示換成實際入口 bash ./scripts/start-server.shls -la先看有沒有隱藏的環(huán)境文件find只找教程和配置不碰業(yè)務(wù)代碼start-server.sh是占位實際以包內(nèi)教程為準。啟動后不要急著登錄先用 HTTP 請求確認服務(wù)端活著# 健康檢查端口從 .env 或教程里取 curl -i http://127.0.0.1:端口/health # 如果源碼沒有 /health就看登錄接口是否返回結(jié)構(gòu)化錯誤 curl -i -X POST http://127.0.0.1:端口/api/login \ -H Content-Type: application/json \ -d {account:test001,password:test001}健康檢查返回 200 只能說明進程在不代表 WebSocket 可用登錄接口返回 token 才能進入下一層。-i是為了看響應(yīng)頭尤其是內(nèi)容類型和跨域頭如果登錄接口返回 HTML 錯誤頁說明路由沒命中或偽靜態(tài)沒配好先別懷疑客戶端。拿到 token 后再測 WebSocket 握手命令里的路徑和參數(shù)名按源碼實際接口替換# 用最小 WebSocket 客戶端驗證握手和一條回環(huán)消息 npx wscat -c ws://127.0.0.1:端口/im?token登錄返回的token握手成功后再發(fā)一條最小 JSON不要一上來發(fā)圖片。消息體字段按源碼協(xié)議替換但至少要包含type、convId、clientSeq、body。如果握手失敗看反向代理是否轉(zhuǎn)發(fā)了 Upgrade 頭如果握手成功但發(fā)消息斷開看服務(wù)端是否校驗了 Origin 或 token 過期時間。2.3 數(shù)據(jù)表與消息 ID先保證能對上再談性能IM 源碼包最容易讓人誤判的地方是“消息發(fā)出去了”不等于“消息可追蹤”。四端互通必須有三個標識消息 ID、客戶端序號、服務(wù)端序號。消息 ID 用來去重客戶端序號用來防止弱網(wǎng)重發(fā)造成重復(fù)服務(wù)端序號用來給會話內(nèi)消息排序。很多包只做了消息 ID結(jié)果一端重連后重復(fù)拉取未讀數(shù)就翻倍。我不會直接改原表而是先加一張校驗表或臨時表把一條消息的軌跡記下來。字段名按源碼實際表結(jié)構(gòu)調(diào)整下面只表達最小結(jié)構(gòu)-- 僅用于聯(lián)調(diào)期追蹤不覆蓋源碼原有消息表 CREATE TABLE im_message_check ( msg_id VARCHAR(64) PRIMARY KEY, tenant_id VARCHAR(32) NOT NULL, from_uid VARCHAR(64) NOT NULL, to_id VARCHAR(64) NOT NULL, conv_id VARCHAR(96) NOT NULL, client_seq BIGINT NOT NULL, server_seq BIGINT NOT NULL, body_type TINYINT NOT NULL, created_at BIGINT NOT NULL ); CREATE UNIQUE INDEX uk_client_seq ON im_message_check(from_uid, client_seq); CREATE INDEX idx_conv_seq ON im_message_check(conv_id, server_seq);msg_id是全局唯一鍵服務(wù)端生成后回給客戶端client_seq由客戶端單調(diào)遞增配合from_uid做唯一索引可以擋住重發(fā)server_seq由服務(wù)端在會話內(nèi)分配客戶端只按它排序不自己造順序conv_id要能區(qū)分單聊和群聊。聯(lián)調(diào)時每發(fā)一條消息就寫一條校驗記錄四端收到的msg_id、server_seq必須能對上對不上就查網(wǎng)關(guān)是否重試、客戶端是否重發(fā)、服務(wù)端是否分配了兩套序號。提示校驗表只用于聯(lián)調(diào)不要留在生產(chǎn)庫但索引設(shè)計要保留思路消息去重和會話排序都靠這幾個字段。3. 登錄到離線消息四端互通的三個狀態(tài)機別寫亂四端 IM 的穩(wěn)定性很多時候不是協(xié)議多復(fù)雜而是三個狀態(tài)機沒對齊登錄態(tài)、會話已讀態(tài)、離線補償態(tài)。登錄態(tài)決定誰能連上來會話已讀態(tài)決定未讀數(shù)怎么算離線補償態(tài)決定斷線期間的消息怎么補。這三個狀態(tài)只要有一個在四端實現(xiàn)不同用戶就會看到“消息發(fā)了但紅點不消”“換端后已讀回到未讀”“離線消息重復(fù)三遍”這類玄學(xué)問題。3.1 登錄態(tài)token、設(shè)備號、踢線策略要一起落登錄不是拿到 token 就結(jié)束。四端互通至少要有uid、deviceId、token、lastSeq四個本地狀態(tài)。deviceId要穩(wěn)定不能每次刷新都變否則服務(wù)端會把同一臺設(shè)備當(dāng)成新設(shè)備離線消息重復(fù)推送lastSeq是會話級增量拉取的游標不能只存在內(nèi)存里。下面這段客戶端邏輯只做本地會話落盤不依賴具體框架// 登錄成功后落本地會話deviceId 首次生成后不要變 function getOrCreateDeviceId() { let id localStorage.getItem(im_device_id); if (!id) { id dev_ Date.now() _ Math.random().toString(36).slice(2, 10); localStorage.setItem(im_device_id, id); } return id; } const session { token: res.token, uid: res.uid, deviceId: getOrCreateDeviceId(), lastSeq: Number(localStorage.getItem(im_last_seq) || 0) }; localStorage.setItem(im_session, JSON.stringify(session));deviceId用時間戳加隨機串只是最小實現(xiàn)生產(chǎn)環(huán)境應(yīng)換成穩(wěn)定的設(shè)備指紋或服務(wù)端下發(fā)lastSeq從本地讀首次登錄為 0token要設(shè)置過期時間不能永久有效。踢線策略要明確同賬號同端互踢還是同賬號多端共存。多端共存時服務(wù)端要給每個設(shè)備單獨維護在線狀態(tài)消息回執(zhí)要帶上設(shè)備號否則 A 端讀了消息B 端的未讀數(shù)也會被清掉。登錄接口返回后先調(diào)一次“當(dāng)前用戶信息”和“會話列表”接口確認 token 在 HTTP 和 WebSocket 兩條鏈路上都有效。很多包只校驗 HTTP不校驗 WebSocket 握手結(jié)果 token 過期后 HTTP 401WebSocket 還掛著客戶端以為在線實際發(fā)不出消息。聯(lián)調(diào)時把 token 過期時間調(diào)短觀察重連和刷新邏輯比上線后才發(fā)現(xiàn)強。3.2 會話與已讀未讀數(shù)不是簡單加一未讀數(shù)是最容易在四端之間打架的字段。單端在線時“收到消息加一、打開會話清零”看起來沒問題多端在線后A 端打開會話B 端還顯示紅點用戶就會認為消息沒同步。常見做法是把已讀回執(zhí)做成獨立事件不直接改消息表而是記錄“哪個用戶、哪個會話、讀到哪個 serverSeq”。會話列表的未讀數(shù)由服務(wù)端按lastReadSeq和maxSeq計算客戶端只做展示緩存。下面這段發(fā)送邏輯把clientSeq落盤目的是弱網(wǎng)重發(fā)時服務(wù)端能識別重復(fù)let clientSeq Number(localStorage.getItem(im_client_seq) || 0); function sendText(socket, convId, text) { clientSeq 1; localStorage.setItem(im_client_seq, String(clientSeq)); socket.send(JSON.stringify({ type: msg.send, convId, clientSeq, body: { type: text, text }, ts: Date.now() })); }clientSeq必須單調(diào)遞增不能每次連接重置convId用服務(wù)端會話 ID不要用對方 uid 拼ts只做展示參考排序以服務(wù)端serverSeq為準。服務(wù)端收到后先按from_uid clientSeq去重再分配serverSeq最后寫消息表和會話摘要。會話摘要里的maxSeq只能增不能減已讀回執(zhí)里的lastReadSeq也只能增不能減這兩個單調(diào)性一旦破壞四端未讀數(shù)就會來回跳。已讀回執(zhí)還要區(qū)分“會話已讀”和“消息已讀”。單聊里兩者差別不大群聊里差很多用戶打開群會話不代表每條消息都讀了。源碼包如果只有會話級已讀二開做商城客服時就會遇到“用戶點進會話但沒看訂單卡片”的爭議。我的做法是先保留源碼原有已讀模型再在業(yè)務(wù)層加消息級回執(zhí)不直接改底層消息表。3.3 離線消息與補償窗口別用“全量拉取”糊弄離線消息是四端互通的血淚區(qū)??蛻舳藬嗑€后重連服務(wù)端要告訴它“從哪個序號開始補”。常見錯誤是每次重連都拉最近 100 條結(jié)果重復(fù)消息一大堆更糟的是只拉在線期間的消息用戶切后臺十分鐘回來發(fā)現(xiàn)中間消息沒了。正確做法是客戶端帶lastSeq服務(wù)端按會話返回serverSeq lastSeq的消息并限制單次條數(shù)客戶端收到后更新lastSeq。-- 按會話增量拉取limit 控制單次補償量 SELECT msg_id, conv_id, from_uid, server_seq, body_type, created_at FROM im_message WHERE conv_id ? AND server_seq ? ORDER BY server_seq ASC LIMIT 200;conv_id必須帶索引否則消息一多就慢server_seq ?里的問號是客戶端上次確認的最大序號LIMIT 200是補償窗口不要一次拉全量。客戶端拉完后不要立刻把lastSeq推到最新要先確認本地已落庫或已渲染再更新游標。否則渲染失敗一次游標已經(jīng)前移消息就永久丟了。補償窗口還要和推送配合。離線推送只負責(zé)“叫醒”不負責(zé)“送完整消息”用戶點開推送后客戶端仍然要走增量拉取。很多包把推送內(nèi)容當(dāng)消息本體結(jié)果推送到了但會話列表沒更新用戶點進去還要等半天。聯(lián)調(diào)時把網(wǎng)絡(luò)斷開 30 秒發(fā) 5 條文字和 1 張圖片再恢復(fù)網(wǎng)絡(luò)檢查四端是否都只出現(xiàn)一次、順序一致、未讀數(shù)正確。這個場景比壓測更能暴露狀態(tài)機問題。4. 二次開發(fā)加商城先給 IM 源碼劃出可擴展縫標題里寫支持二次開發(fā)、可以加商城這個方向是合理的但前提是別把商城邏輯塞進消息核心。IM 源碼包最怕二開時直接改消息表、改會話表、改登錄表短期能跑后面每加一個業(yè)務(wù)消息就崩一次。我一般會把擴展點分成三類消息類型擴展、用戶體系映射、業(yè)務(wù)事件旁路。商城只掛在旁路上不碰會話狀態(tài)機。4.1 消息類型擴展別改核心 switch文字、圖片、語音、文件是 IM 的基礎(chǔ)消息類型商城訂單卡片、優(yōu)惠券、物流提醒屬于業(yè)務(wù)消息。很多源碼包用一個大switch處理所有類型二開時每加一種就改一次核心文件沖突概率很高。更穩(wěn)的做法是保留核心switch只做分發(fā)業(yè)務(wù)類型注冊到獨立 handler 表里。下面是一個最小分發(fā)器不依賴具體框架const handlers { text: renderText, image: renderImage, file: renderFile, order_card: renderOrderCard, // 商城消息只負責(zé)渲染 logistics_card: renderLogisticsCard }; function onMessage(msg) { const type msg.body msg.body.type; const render handlers[type] || renderUnsupported; render(msg); }handlers的 key 要和協(xié)議里的body.type一致order_card只做展示不在這里改未讀數(shù)、不改會話順序renderUnsupported要兜底避免新客戶端收到舊服務(wù)端不認識的消息就白屏。服務(wù)端也要有對應(yīng)的消息類型白名單不能客戶端傳什么就存什么否則二開接口會變成任意 JSON 存儲。業(yè)務(wù)消息的落庫策略要和普通消息分開。訂單卡片可以只存業(yè)務(wù) ID 和快照不存整段 HTML物流提醒可以存模板參數(shù)客戶端按版本渲染。這樣商城改版時不用回刷歷史消息老客戶端也能顯示降級文案。4.2 用戶與商城賬戶解耦一張映射表就夠IM 用戶和商城用戶不要共用一張表。IM 側(cè)只需要im_uid、昵稱、頭像、在線狀態(tài)商城側(cè)有訂單、余額、優(yōu)惠券。兩邊用映射表關(guān)聯(lián)不要把商城余額字段塞進 IM 用戶表否則每次商城改字段都要動 IM 登錄鏈路。映射表要保證一個 IM 用戶只能綁一個商城用戶反之亦然。CREATE TABLE mall_user_map ( im_uid VARCHAR(64) PRIMARY KEY, mall_uid VARCHAR(64) NOT NULL UNIQUE, created_at BIGINT NOT NULL ); -- 綁定前先查重避免并發(fā)下重復(fù)綁定 SELECT im_uid, mall_uid FROM mall_user_map WHERE im_uid ? OR mall_uid ?;im_uid做主鍵保證一個 IM 用戶只有一條映射mall_uid加唯一索引保證一個商城用戶不會被兩個 IM 賬號綁定created_at用毫秒時間戳方便排查綁定順序。綁定動作要冪等重復(fù)提交返回同一條記錄不要報唯一鍵沖突給前端。商城下單消息通過mall_uid查im_uid再走 IM 消息通道發(fā)送IM 側(cè)不感知訂單金額和支付狀態(tài)。4.3 教程怎么用把步驟轉(zhuǎn)成驗收清單包內(nèi)教程要當(dāng)成“啟動參考”不能當(dāng)成“驗收標準”。教程能讓你把服務(wù)跑起來但四端互通、離線補償、二開擴展這些點教程通常只寫一半。我的做法是把教程里的每一步轉(zhuǎn)成一條可觀察結(jié)果配完數(shù)據(jù)庫看表是否建全啟動服務(wù)看健康檢查是否返回登錄成功看 token 是否能用于 WebSocket發(fā)一條消息看四端是否都收到同一個msg_id。源碼包聲稱沒有后門這個口號不能替代檢查。上線前至少做三件事搜危險函數(shù)、看外鏈請求、查定時任務(wù)和啟動腳本。下面這組命令只做靜態(tài)排查命中不等于有問題但必須逐條解釋cd 源碼目錄 # 搜常見危險調(diào)用按語言調(diào)整擴展名 grep -RInE eval\(|base64_decode\(|shell_exec\(|exec\(|system\( . \ --include*.php --include*.js --include*.java | head -60 # 看啟動腳本和定時任務(wù)確認沒有多余外聯(lián) find . -maxdepth 4 \( -name *.sh -o -name *.bat -o -name crontab* \) -print | head -40grep的-R遞歸、-I跳過二進制、-n顯示行號、-E支持擴展正則head -60防止刷屏。命中eval不一定是后門可能是模板引擎或配置解析但要能說清楚輸入來源。啟動腳本重點看有沒有下載遠程文件、寫入系統(tǒng)目錄、添加計劃任務(wù)。檢查完再做一次斷網(wǎng)啟動看服務(wù)是否仍然能起來依賴遠程鑒權(quán)的包在斷網(wǎng)時會暴露問題。5. 避坑排查四端 IM 聯(lián)調(diào)最常翻車的 5 個現(xiàn)場四端 IM 的問題很少是“代碼完全不會寫”更多是環(huán)境、協(xié)議、緩存和瀏覽器差異疊在一起。下面這 5 個現(xiàn)場是我拆這類源碼包時最常遇到的按“現(xiàn)象 → 原因 → 解決”記錄方便你對著日志查。5.1 登錄成功但 WebSocket 立刻斷開現(xiàn)象HTTP 登錄返回 200token 也拿到了客戶端一連 WebSocket 就斷開服務(wù)端日志只有一條握手記錄。原因通常是反向代理沒有轉(zhuǎn)發(fā)Upgrade和Connection頭或者服務(wù)端校驗了Origin而 Web 端域名不在白名單。也有可能是 token 放在 query 里被網(wǎng)關(guān)過濾握手階段拿不到用戶身份。先分層查不要直接改客戶端重連邏輯# 先確認 HTTP 層和 token 有效 curl -i -H Authorization: Bearer token http://127.0.0.1:端口/api/me # 再看 WebSocket 握手響應(yīng)頭 curl -i -N \ -H Connection: Upgrade \ -H Upgrade: websocket \ -H Sec-WebSocket-Version: 13 \ -H Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ \ http://127.0.0.1:端口/im?tokentoken/api/me返回 401 就先解決 token握手返回 301/302 說明路徑被重寫返回 400 看Sec-WebSocket-Key和版本頭返回 403 看 Origin 白名單。解決方式是把 WebSocket 路徑從靜態(tài)資源規(guī)則里排除反向代理單獨加 Upgrade 轉(zhuǎn)發(fā)服務(wù)端把 Web 端域名加入白名單。改完再測 Safari因為 Safari 對混合內(nèi)容和連接復(fù)用更敏感。5.2 同一賬號兩端消息順序不一致現(xiàn)象A 端先發(fā)“1”再發(fā)“2”B 端先看到“2”再看到“1”刷新后又恢復(fù)正常。原因通常是客戶端按本地時間排序而兩端時鐘不一致或者服務(wù)端把消息寫入和會話摘要更新放在兩個異步隊列里推送順序和落庫順序不一致。還有一種是重發(fā)時clientSeq重置服務(wù)端去了重但分配了新的serverSeq。解決思路是統(tǒng)一排序源客戶端只按服務(wù)端serverSeq升序渲染本地時間只做展示服務(wù)端在會話維度串行分配序號至少保證同一會話內(nèi)單調(diào)遞增重發(fā)消息命中from_uid clientSeq后返回原msg_id和原serverSeq不要重新分配。聯(lián)調(diào)時把兩端系統(tǒng)時間故意調(diào)差 5 分鐘再發(fā) 20 條消息看順序是否仍然一致。5.3 Safari 下圖片消息預(yù)覽失敗現(xiàn)象Chrome 里圖片消息正常Safari 里只顯示占位圖控制臺報內(nèi)容類型或跨域錯誤。原因常見有三種上傳接口返回的Content-Type是application/octet-stream圖片域名和 Web 端域名不同但響應(yīng)頭缺少允許跨域讀取的配置圖片是混合內(nèi)容頁面 HTTPS 而圖片地址是 HTTP。Safari 對這幾類問題比其它瀏覽器更嚴格。先直接看響應(yīng)頭不要只看頁面curl -I https://你的域名/upload/示例圖片.jpg重點看Content-Type是否為image/jpeg或image/pngContent-Length是否存在跨域時看Access-Control-Allow-Origin。解決方式是在上傳服務(wù)端按擴展名或文件頭寫正確類型圖片域名統(tǒng)一走 HTTPS跨域讀取按需加允許頭。不要用前端 base64 硬轉(zhuǎn)大圖會把消息體撐爆。5.4 離線消息重復(fù)或丟失現(xiàn)象斷網(wǎng) 30 秒再恢復(fù)同一句話出現(xiàn)兩次或者切后臺十分鐘回來發(fā)現(xiàn)中間幾條消息沒了。重復(fù)通常是客戶端重發(fā)時clientSeq沒落盤或者服務(wù)端去重鍵只用了msg_id重發(fā)生成了新msg_id。丟失通常是客戶端先更新lastSeq再渲染渲染失敗后游標已經(jīng)前移也可能是服務(wù)端增量查詢用了而不是邊界消息被跳過。解決方式客戶端發(fā)送前先落clientSeq服務(wù)端用from_uid clientSeq做唯一約束拉取離線消息用server_seq lastSeq拉完先落本地再更新游標服務(wù)端返回消息時帶maxSeq客戶端用它校準本地游標但不要直接跳過去。聯(lián)調(diào)時專門發(fā)一條邊界消息斷開、重連、再拉取確認這條消息只出現(xiàn)一次。5.5 “無后門”檢查只看壓縮包目錄現(xiàn)象解壓后沒看到可疑文件就認為源碼安全上線后服務(wù)端出現(xiàn)陌生外聯(lián)請求。原因可能是后門不在業(yè)務(wù)目錄而在依賴包、啟動腳本、定時任務(wù)或前端靜態(tài)資源里也可能是構(gòu)建時從遠程拉取了被篡改的依賴。只看目錄結(jié)構(gòu)發(fā)現(xiàn)不了這些問題。靜態(tài)檢查要覆蓋入口和依賴不要只掃業(yè)務(wù)代碼cd 源碼目錄 # 看依賴鎖文件和安裝腳本 find . -maxdepth 3 \( -name package-lock.json -o -name composer.lock -o -name *.sh \) -print # 搜遠程下載和編碼執(zhí)行的可疑組合 grep -RInE curl |wget |base64|fromCharCode|atob\( . \ --include*.sh --include*.js --include*.php | head -80find先定位依賴鎖和腳本grep找遠程下載、編碼執(zhí)行等組合。命中后逐條看輸入來源尤其是啟動時執(zhí)行的腳本。更穩(wěn)的做法是在隔離環(huán)境斷網(wǎng)啟動觀察是否有外聯(lián)再把前端靜態(tài)資源做一次構(gòu)建產(chǎn)物對比確認沒有多余腳本。源碼包說無后門只能作為線索不能作為驗收結(jié)論。6. 上線前的一條消息追蹤把四端互通驗收成可復(fù)現(xiàn)記錄上線前我不會只看“四端都能發(fā)消息”而是選一條消息做全鏈路追蹤把每個節(jié)點的字段記下來。文字消息選一條帶clientSeq的圖片消息選一條帶上傳文件的再選一條離線期間發(fā)送的三條就夠暴露大部分問題。檢查點記錄字段通過標準客戶端發(fā)送uid、deviceId、clientSeq、convId同一設(shè)備重啟后clientSeq不回退服務(wù)端落庫msg_id、serverSeq、created_at同一會話內(nèi)serverSeq單調(diào)遞增在線推送接收端msg_id、serverSeq四端收到的msg_id一致順序一致離線補償lastSeq、拉取條數(shù)、maxSeq斷線期間消息只補一次不丟不重已讀回執(zhí)lastReadSeq、設(shè)備號一端已讀后另一端未讀數(shù)按規(guī)則變化這張表我會在聯(lián)調(diào)環(huán)境跑三遍正常網(wǎng)絡(luò)、斷網(wǎng) 30 秒、切換前后臺。每遍只改一個變量記錄服務(wù)端日志和客戶端本地存儲。只要有一條對不上就先停二開不要用“再發(fā)一次看看”糊過去。從那以后我每次拿到這類 IM 源碼包都先跑這條消息追蹤再談商城和上線。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91蜜桃婷婷狠狠久久综合9色| 少妇内射www在线观看视频| 啪啪啪精品视频| 日日骚AV| 国产伦精品| 人妻无码久久一区二区三区免费| 99丝袜福利在线播放| 久久精品店| 亚洲在线网站| 天天做天天爱| 久久精品国产97欧美精品亚洲 | 午夜精品久久久久久久99蜜桃一| 一级人妻性爱视频| 超碰欧美| 天天天肏屄肏屄肏屄欧美欧美| 99只有精品| 中文字暮97| 国产免费一区在线观看| 伊人久久大香线蕉无码| 欧美 日韩 亚洲 春色| 亚洲综合电影| 亚洲丝袜综合| 夜夜欢天天干| 麻豆一区二区AV天美| 天天色踪合| 亚洲AV资源| 国产AV人人 夜夜人人澡| 波多野结衣AV无码一区| 婷婷五月天小说| 好吊色综合| 欧亚日韩中文在线| 最新日日夜夜天天干干| 小草精彩毛片| 精精夜夜| 一个人免费视频观看在线WWW| 国产精品 亚洲情色| 综合五月天| 一级免费啪啪片| 色嗨嗨在线| 国产精品爱欲| 无码高清少妇久久| 色哟哟 日韩精品| 97干97色| PMv在线观看| 日韩在线观看三级电影| 天美传媒AV在线播放| 超碰导航97| 亚洲日本大香蕉1| 少妇丝袜在线观看AV| 亚洲综合骚逼| 国产精品大屁股999| 亚洲一二三四区在线免费看视频| 加勒比人妻综合| 天天天天做夜夜夜夜做| 亚av顶级裸体一区二区三区四区五区 | 校园春色五月天| 91女日逼| 日本人妻A片成人免费看片| 亚洲情色91| 麻豆人妻精品一区二区| 啊a一区在线| 欧美一级久久久丰满| 91视频伊人| 免费一级精品啪啪视频| 日本精品无码三级网站| 国产午夜无码片在线观看影视| 91人妻素女| 手机在线观看不卡无码av| 亚洲黄网在哪免费看| 日本精品一区二区中文字幕| 丁香五月婷婷啪啪| 97香焦色区| 精品久久99| 欧美亚洲美少妇一区二区| 久久久久亚洲一区女同性恋中文字幕| 岛国不卡超碰护士AV在线播放| AV色五月天| 夜夜高潮夜夜爽国产伦精品| 欧美 亚洲精品首页| 亚欧成人一级片在线播放| 欧美在线91| 囯产精品久久久久久久久久梁医生| 久久永久无码人妻视频| 日韩熟女乱伦中出| 色色色色网站| 九九精品美女高溯喷水| 天美传媒Av在线| 天天天操天天天爱| 加勒比伊人| 欧州一区二区三区四区| 国产人妖视频一区在线观看| 99热婷婷| 成人热久久精品| 九九九九九九九| 蜜屁av| 久久久97| 日va操| 色婷婷激情| 日韩久久超碰色| 日本999精品| 少妇精品久久久八区九区| 亚洲视频精选| 久久综合国产精品国产| 极品色www影院| 99久久无色码| 日日日日做夜夜夜夜做无码97| 俞拍久久国应视频| 眼镜人妻101.com| 在线观看黄色电话| 美女啊啊啊啊pc| 9999亚洲精品| 人人妻人人澡人人爽人人精品浪潮| 精品无码欧美三级| 中文字幕黄色片| 人人手机欧洲亚洲国产人妻| 97在线资源| 日韩有码中文字幕女同性恋| 久久riav中文精品| 亚洲,欧美,春色,另类| 欧美AB在线观看| ...日韩成人一区二区三区字幕| 久草婷婷| 久久久久久电影| 中文一区在线日| 色爱亚洲| www黄片免费看com| 亚洲综合网图| 蜜臀久久久99久久久久| 操迟操逼在巾线Fre看| 丁香五月性| 亚洲AV无码久久精品蜜桃小说| 熟女久久| 操逼不卡中文字幕| 美女露胸露奶头| 好爽要喷了| 亚州熟女乱伦| 99热91| 日韩精品电影| 日本国产欧美一区三区二区 | 成人老鸭窝人人在线视频| 欧美综合网站999| 香伊人在线| 国产这里只有精品| 久操av在线| 一中国女人毛片水真多| 天天干少妇| 久久妇| 午夜亚洲WWW湿好大| 久久女婷| 天天看特黄的免费网站| 欧美猛交黑寡妇中文字幕| 天天爱天天操| 久久人人爽人人爽人人片Ⅴ| 狠狠色一区二区中文字幕| 激情文学88| 婷婷丁香久久| 欧美性少妇| 色欲蜜臀AV| 激情亚洲天堂| 亚洲学生妹高清av| 天天日日夜夜| 三男一女不戴套的A片| 香蕉大久久久| 亚洲成人av色网| 69精品久久久久中文字幕| 国产黄色动态精品| 超碰欧美| 91色综| 国产农村妇女毛片精品久久| 天天做日日爱夜夜爽| 97 九色| 日韩免费在线观看不卡| 99热色这里只有精品| 九九九九热只有精品| 一,爱啪啪,在线免费视频| 粉嫩少妇自慰在线| 免费少妇一区二区| 97 超碰 人人做 人人爱| 色吧5亚洲| 91大胆欧美| 欧美激情精品| 任你草| 天天欲望网| 日韩在线观看中文字幕视频| 人妖欧美一区二区| 国产精品无码论坛| 亚洲无码一区成人免费午夜| 色情综合| 91精品国产91久久青草 | 日韩中文字幕宗合在线| 伊人网综合在线视频| 亚洲免费97免费| 91成人高清在线观看| 天堂麻豆天美| 精品久久久久久中文| ai欧美亚洲小说| 91碰超| 亚洲性少妇| 九九久久一区二区伦理| 99热18这里只有精品| 乱伦3P视频| 午夜精品久久999热蜜桃介男人用| 操逼免费视频无码国产| 国外91| 欧美一区二区观看在线| 欧美亚洲韩国视频十五区| 手机看片1024你懂的国产| 九九九九九九九九九九精品视频| 亚洲欧美国产其他二区| 欧美97网| 国产精品视频电影| 1769国内精品视频| 91色综合色| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲不卡一| 五月婷婷爱六月丁香色| 69精品| 欧美一二三区四五区| 在线无码视频| 噜噜瑟| 99无码精品| 欧美成人一级麻豆| 麻豆区久久久久亚| 午夜精品一区二区三区三上悠亚| 日本精品一级二级三级| 老女人碰碰在线碰碰视频| 久久国内| 97超碰中文在线| 一区=区三区视频| 涩涩这里只有精品视频| 骚日日av| 啊啊啊 在线观看| 欧美日韩国产另类综合| 综合天天。| 人妻久久久久久| 欧美日韩午夜精品一区二区三区| 欧美玖玖爱免费玖玖| 九九黄色网| 欧美天天性| 日本淫穴在线| 98色网| 国产视频一区二区三区在线免费观看 | av亚欧| 成人片视频| 国产成人综合网| 精品一区二区三区国产| 日本不卡一区二区三区| 96精品在线| 91精品久久久| 国产日韩怡红院| 日韩av熟女一区二区三区成人| 综合 欧美 亚洲 日本| 午夜啊啊| 爱爱久久| 91九久| 亚欧成人中文字幕一区| 91久久青青草原精品| 久久亚洲色图中文字幕| 亚洲男人天堂2012| 97色碰| 国产成人99久久亚洲综合| 久久精品无码熟妇一区二区三区视频导航 | 色噜噜人妻av中文字幕| 欧美精品第四五页中文字幕在线观看| 九月婷婷久久| 久久av一级av少妇av高潮| 91老司机精品| 黑人粗大V S日韩女优视频| 久久精品一区二区三区不卡| 国产区性爱在线视频秋霞豆| 色哟哟 日韩精品| 国内成人圈中文字幕无码视频| 老鸭窝亚洲毛片| 欧美顶级黄片AAAAA在线免费看| 一级毛片电影免费看| 狠狠操狠狠燥| 99热导航| 按摩中文字幕| 五月丁香激情综合| 在线无码操| 亚洲欧美日韩制服另类| 啊啊啊啊免费视频| 夜夜青青无码影院| 97免费视频网| 中文字幕二区日韩天堂| 人妻熟女av国产网站| 成人av福利在线观看| 日本媚薬中文字幕在线| 九九热午夜欧亚国产视频| 中文字幕少妇色| 欧美淫穴| 欧美九9 9 9| 色综合久久88色综合久久天天| 18禁看网站一区| 欧美宗合色| 校园激情狠狠四射| 日韩特一级久久| 亚洲人91| 十八禁黄色成人网站观看| 久久婷婷色综合一区二区三区| 97人妻碰碰中文无码久热丝袜| 天天看天天在线精品| 麻豆国产精品午夜视频| 久久区| 97在线/亚洲| 日韩中文字幕精品一二三事国产精品| 亚洲国产丝袜在线观看| 裸体美女久久久| 欧美激情 日韩精品| 九九热男人天堂| 伊人AAA| 婷婷激情五月| 婷婷综合激情| 九九aV| 国产精品亚洲免费| 色五月综合| 色五月综合网| 色婷婷电影网| 五月天激情网站| 五月婷婷综合在线| 丁香六月婷婷久久综合| 天天日天天色| 午夜精品久久久久久久男人的天堂 | 丰满人妻一区二区三区色-百度| 精品一区二区三区蜜桃| 蜜臀久久99精品久久久久久成人小说| 91 亚欧| 色哟哟av| 超碰97国产欧美| 2017,超碰| 日韩久射综合| 熟妇女伦乱视频| 人妻久久一区二区三区| 大奶的诱惑| 97超碰超碰| yiqicaoav| 国产捆绑一区| 国产亚洲精品一区二区三区| 影音先锋每日最新资源在线观看| 91丨九色丨国产丨人妻在线| 亚洲色欲天天天堂色欲网女| 国产无码精品高清| 密乳无码| 九九黄色视频在线观看| 久久久五月天| 亚洲,欧美,春色,另类| 一本一道人妻久久一区二区三区| 四虎影库国产精品免费| 91国产大片| 亚洲图片 激情小说| 青青操视频在线| 视频在线97| 9美女超碰在线免费观看| 日韩有码中文字幕女同性恋| 白丝一区| 密乳AV免费观看| 天堂中文日本在线观看| av一区二区三区 中文| 成人午夜无码视频| 无码heyzo高清一区| 国产天天看| 亚洲精品一卡二卡三卡福利视频网站| 欧美精品亚洲精品日韩传电影| 国产精品伦理| 欧美精品成人一区二区在线观看 | 亚洲欧美日韩夜夜| 久久久爆乳翘臀一线天伦理视频| 日韩二级| 久久男人的天堂| 久久久久久午夜男人的天堂| 极品色社| 麻豆一区在线| 久久久月天| 亚洲全色网| 豆花视频操逼网址| 亚洲色图欧美视频| 欧美熟爽综合| 中文字幕女同在线| 99re久久| 日韩性爱人人爱人人操| 色播综合| 在线观看A啊啊啊| 男人成人黄色视频在线观看免费下载| 日韩精品一二三| 欧美成年人性爱视频免费观看| 国产大学生口爆吞精合集| 色婷婷久久| 久久偷拍人| 熟女熟妇一区二区三区视频| 伊人国产成人av网站| 国产亚洲精品农村妇女| 日本人体九九九九九九| 国产一区二区三区,在线观看观看| 超碰97人妻自拍| 乱伦一二三| 亚洲天堂无码| 久久一二三级一一一| 公司1区2区3区精产精| 精品亚洲| 99久久精品国产高潮| 欧美在线官网| 色69大色97香蕉| 秋霞怕怕片| 中日韩欧美精品无码AⅤ一区二区| 亚州色图第三区| 亚洲日韩熟女人妻高清在线| 好爽视频在线观看| 青娱乐国产盛宴视频| 91亚·色| 91老妇女| 精品成人亚洲午夜电影| 亚洲无套久久嗯嗯| 欧美日韩国产色五月综合在线| 99久久精品国产系列| 97摸视频| 欧美亚洲美少妇一区二区| 91亚洲欧美激情| 中文字幕日韩人妻视频一区二区三区 | 大香蕉一区二区在线观看.| 五月天婷婷综合网| 春色综合免费| 天天看天天在线精品| 久久天天摸| 久热网| 男女性感激情网站| 天堂资源欧美| 亚洲天堂男人网| 久久东京国产精品视频| 亚洲精品 欧美精品| 欧美翘臀视频网站一区二区三区| aⅴ日韩成人电影av在线免费看av大全| 一区二区三区四区五区高清无码永久视频 | 日韩免费人妻色情网站| 国产精品对白自产拍| 最好看的中文字幕在线2018| 精品国产污一区二区三区| 欧美激情 亚洲色图| 国产亚州高清国产拍精| 青娱乐手机日韩在线视频| a'v在线资源| 久久激情视频| 一卡二卡在线播放| 操逼网免费无码视频| 人人噜夜夜操| 妇女性内射冈站HDWWWCOM| 97超碰国产亚洲精品资源| 日日躁狠狠躁天天躁精品| 国产精品欧美日韩久久| 精品小视频在线| 熟妇乱伦一区二区| 国产精品一区二区在钱播放| 成人久久久| 91五月天| 午夜传煤十二区精品| 国产精品自拍欧美在线| 久久久久久久综合,国产| 综合 欧美 亚洲 日本| 欧美精品 - 91爱爱| a片久久久久久久久久久久| 青青国产精品在线| 综合另类| 蜜桃精品一区二区三区ww| 欧美东京热青青草| 熟女人妻久久中文字幕一二区| 97超级久久| 精品-91人妻子系列| 91美女视频电影| 欧美黑人精品一区二区| 欧美体内射精| 曰韩av中文字幕专区| 四季av一区二区凹凸精品小说 | 精彩久久中文| 亚洲一区二区三区欧美日韩| 老鸭窝日丰县女人| 91粉嫩萝控精品福利网站_精品影音先锋国| 青青草国产一区二区三区| 久久久久亚洲Aⅴ无码| 欧美九一精品久久久熟妇| 色香色欲天天综合网天天来吧| 欧美日韩精品青青| 成人短视频在线观看| 日韩人妻无码不卡网站| 天综合网| 影音先锋每日最新资源在线观看| 熟女一区二区三区| 5278欧美一区二区三区| 久久久久女教师免费一区| 伊人AAA| 国内偷拍精品一区二区| 天天色怡春院| 午夜天堂啪啪| 91青青草| 啊操爽品善一区二区三区| 亚州操逼图| 日本道人妻久久久在线不卡色视频| 丁香六月婷婷综合| www.色吧5.com| 97在线青| 婷婷久久久| 大学生美女口爆| 99操| 亚洲国产欧美中日韩成人综合视频| 99精品九九九九九九| 在线观看AV不卡| 亚洲 欧美 制服 另类 自拍| 91激情国产| 九九九九九九九精品视频| 国产91亚洲精品一区二区三区| 久久日本熟女精品一区| 99人人干| 国产狂喷潮在线精品| 岛国不卡超碰护士AV在线播放| 大香蕉手机视频| 日本孕妇一区二区视频操逼免费看 | 99亚亚热| 国产黄片精品在线| 精品97久久| 国产综合久久久鬼色| 凸凹视频在线观看| 日本淫乱女一区二区三区视频| 青青草男人天堂| 97干在线视频| 午夜亚洲WWW湿好大| 国产精品久久久999| av资源在线播放天堂| 日本阿v天堂在线观看| 99色婷婷中文字幕乱色| av一区二区三区 中文| 国产高清自拍视频| 九九九九免费视频| av优播| 思思热久久成人| 黄呦呦在线| 性做久久久久久久| 欧美91丝袜| 综合久久99| 人人操人人干网页| 超碰97综合在线| 久久国产精品一级二级三级| 欧美不卡二区| 91在线丝袜| 久久老子无码午夜伦不卡| 加勒比海色香蕉婷婷| 色综合20p| 香蕉精品二区二区| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 少妇内射www在线观看视频 | 有码色中文字幕在线观看| 97视频播放| 草蕉影视亚洲无码| av一区二区三区四区| 97综合日韩| 我要看免费韩日黄片| 国产一区二区成人av在线播放| 色天天野狼综合社区| av婷婷色网| 日韩性爱视频免费在线 | 99re国产中文字幕| 人妻少妇被猛烈进入中| 欧美色图20p| 黄色一区三区| 久久精品老司| 欧美亚性天堂| 日韩成人大片一区二区| 被男人吃奶很爽的毛片| 国产日本顶级一区二区三区| 午夜AV污污污| 欧美亚洲影视| 看看小穴| 大香蕉丝袜一级片| 中文字幕日韩人妻视频一区二区三区 | 国模一区二区三区| 国产伦乱91| av天堂天堂av日韩| AV乱伦国产| 大香蕉综合网| 天天综合,91入口| 91五月天| 久久綜合很很很| 国产欧美伊人| 99性视频| 国产在线视视频有精品| 日韩人妻制服丝袜av| 26uuu成人影片| 欧美人妻少妇| 欧美色97| 日本免费二区三区| 亚洲 欧美 综合 91| 超碰97最新人妻| 老熟女91av| 少妇超碰在线| 深爱五月婷婷| av资源在线播放天堂| 天天日天天干天天整| 不卡av在线中文字幕| 欧美性生活男人的天堂| 久久久97| yiqicaoav| 丁香九月婷婷| 久久精品熟妇丰满人妻99| 91美女在线| 密臀在线视频| 操熟女91| 亚洲色图A| julia国产在线 | 亚洲天天综合| 欲香欲色| 乱伦熟女论坛| 欧美色www亚洲国产阿娇要播| 国产精品免费久久久久久久久久| 国产综合久久久麻桃个| 国产精品农村妇女| 97av在线观看| 91人妻少妇| 精品无码久久久久久久杏吧| 精品无码久久久久久久久果冻糖心| 外站AV在线| 天天综合91| 亚洲牲交| 思思视频免费看网站| 国产亚洲福利第一页丝袜| 日本成人在线不卡一区二区三区| 美女天天干| 无码区蜜乳| 久草国产在线视频| 久久鲁干| 久久九九综合| 九九天堂| 台湾佬中文娱乐自偷自拍| 日韩激情视频| 亚洲综合图片在线| 日韩美女高潮喷水视频| 久久久精品视频欧州站| 97在线播放| 视频不卡中文字幕| 国产欧美在线观看免费观看| 国产日韩区| av日韩手机在线影视| 国产精品久久伊人| 日韩精品 资源| 大香蕉伊利av| 欧美91精彩| 国偷自 一区| 中文字幕乱妇免费视频| 欧美精品久久96人妻无码| 2019精品国产无码成人| 午夜影美女日鸡鸡天天视频国产| 日韩欧美经典在线观看| 99精品在线| 色综合中文字幕不卡| 人人澡综合涩| 超碰久草| 亚洲欧洲激情卡通另类文学四射小说网站 | 国产精品自在线发布| 五月天婷婷久久| 欧美人妻二区三区| 亚洲综合骚逼| 日韩电影中文字幕| 九九九九热| 日韩黄片视频试看| 亚洲高清在线| 欧美欲色| 国产视频97| 超碰午夜| 日韩在线性爱免费视频| 能看的AV| 少妇人妻精品| 精品国产a∨一区天美传媒| 又大又大又大又粗爽高潮观看 | 国产美脚女优尤物在线观看| 久久久九九| 女性91网站| 激情综合网五月婷婷五月天| 一区二区 韩日AV| 国产九九久久久精品| 色香综合天天影视综合| 无码天堂| 国产极品一区二区三区三州| 一道本久久棕合爱| 九九九精品色乱九九九| 97免费在线观看| 男女性感激情网站| 日本三级黄页| 国产一区二区三区久久精品太古里| 欧美亚洲特P| 久热在线精品免费观看| 亚洲操操操| 在线亚洲精品久久久| 欧美高清在线| 亚洲一卡二卡在线免费| 日本综合久久| 天堂射| 美女久久久| 操逼网站视频漫画国产| 亚洲AV乱码专区国产噜噜亚洲| 97在线视频观看免费| 99婷婷一区二区| 亚洲福利中文字幕在线| 国精综合一二三区影视| 94色色电影网| 亚洲精品aa久久伊人| 丝袜制服字幕在线| 一区二区视频在看| 天天搞在线综合网| 蜜桃视频精品一区二区三区| 亚洲精品97久久中文字幕| 99亚洲精品| 欧美黄页在线| 天美久久久久| 91社区拍啪人妻| 91亚州日韩高清| 色一区二区三区综合| 波多野结衣一级视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 色阁阁AV综合网| 国产乱伦视频污| 免费夜夜爱黄色视频毛片| 日本免费一区二区不卡| 亚洲熟女精品| 97操97色| 凹凸精品熟女在线观看| 欧洲熟妇xxXx欧美老妇裸体| 欧美第二页午夜| 亚洲欧洲自拍图片专区满春格| 男人亚洲91首页在线| 超碰色美女| 午夜无遮挡男女啪啪视频| 无码一区二区三区四区五区六区七区八区九区十区视频 | 日日爱99| 亚洲第一页色| 91美女视频。| 亚卅熟女乱色| 热热色国产一二区AV| 国产探花精品在线| 在线视频五十市| 欧美性爱第一页久久| 极品五月天噜噜| 国产日本顶级一区二区三区| 亚洲精品精品一区二区| 国产精品国产| 强奸乱伦大香蕉网| 69久久久久久久久久久久久| 26uuu偷拍亚洲欧洲综合| 大香蕉十区| 久久这里只精品免费福利| 97在线免费看| 欧美一区二区三区不卡高清视频| 精品少妇后入一区二区三区四区人妻巨乳| 天天欧美| 婷婷月色| 亚洲欧美洲综合| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 欧美一区二区三区成人性生活| 樱花蜜乳av| 久久久∴| 日韩黄色av中文字幕| 欧美性爱网97| 性久久| 劲爆欧美人妖三区91| 韩国午夜理伦三级好看| 五月天亚洲网| 91在线精品| 国产av色网| 丰满人妻大屁一区二区| 六月婷婷一区二区三区| 可以在线观看AV的网站| 91色综合色| 欧美很很操视频| 91中文字幕在线观看| 另类在线| 欧美色图第一页| 毛片视频白嫩| 国产精品不卡一区二区三区av| 日日橹狠狠爱欧美超碰| 在线播放一级无码视频| 欧美青青草视频| 怡红院一区二区熟女人妻| 国产又粗又长视频| 天天色综合图片| 淫荡网址| 精品一区二区三区四区女| 99老司机精品视频在线观看| 久久视频,这里只有精品 | 欧美综合传媒| 久久女人一区二区三区| 91狠狠综| 毛片中心9视频99| 欧美性爱18观看| 蜜桃视频一区二区三区| 国产成人自拍视频在线| 欧美亚州综合网图片| 丝袜夫妻自拍| 国产又黄又粗的视频| 欧美高潮| 婷婷色中文字幕| 欧美91精品国产自产| 嫩草伊人久久精品| 无码 有码 国产18p| 9 1果冻精品视频| 日本精品人妻少妇一区二区| 一级性爱啪啪视频| aV中文麻| 黄色大片一区二区密桃丝袜| 亚洲三区视频| 综合网亚洲1| 久久久爆乳翘臀一线天伦理视频| 欧美A片中文字幕| 中国熟女91| 理论久久婷婷网 8| 成人小说视频在线精品欧美| 日韩 欧美 国产 麻豆| 五月天综合网| 精品人妻中文字幕高清| 久久一本大香蕉 | 台湾成人无码AV| 国产人妻精品一区二区三区秋霞| 狠狠综合| 欧美黄色手机在线观看| 日本一久是| 99无码精品| Sekablack无码一区| 中文字幕第二页| 午夜精品99久久久久传媒| 国产高清26uuu| 欧美丝袜中文字幕07在线| 欧美 日韩 另类 亚洲| 91操人| 国产亚洲色婷婷久久99精品91 - 百度| 成人在线永久| 久操大香蕉手机视频在线看| 日韩欧美午夜一区二区| 91久| 欧美亚洲se91| 欧美少妇熟女| 国产成人亚洲精品无码古代早漏男| 久久久久久久| 九九九九欧美| 国产免费大片| 777奇米影视777四色| 你懂的在线观看区国产| 久久成人东京热人妻| 91成人在线| 婷婷五月成人| 精品一啪| 亚洲婷婷综合网| 久久在肏| 蜜桃丰满熟妇av无码区不卡| 高树玛利亚无码流出| 亚洲AV无线| 人人人摸人人| 东京热99999| 天堂国产AV| 日韩精品区二区三区不卡| 日韩国产乱子伦App| 欧美人与动性人交a| 极品人妻少妇综合| 久久美国毛片| 有码人妻系列| 亚洲天堂男人在线| 播播亚洲小说亚洲| 欧美人人操人人插| 69精品| 疯操AV| 中文字幕人乱码中文字的预防方法| 强奸xx国产| 成人八戒网站| 人人操人人色人人摸| 中文 人妻 制服| 好一吊区二区| 青青草成人视频在线观看二区| 国产四虎在线| 色99视频| 97干在线视频| 强奸乱伦Av网| 老熟妇一区二区三区…| 欧美欧美啪啪视频| 九九九九免费| 欧美亚洲系列| 久肏视频字幕| 亚洲黄色网址| 91欧美另类| 一区二区三区国产精产| www.欧精品| 91九色首页| 亚洲国产麻豆一区二区三区| 亚洲无码国产探花在线观看| 资源新线在线天堂| 久久99草| 日日夜夜青青草母狗| 宅男91视频在线播放| 亚洲五月丁香花狠狠干一区二区三区| 亚洲AV永久无码一区仙野| 操操逼操操逼操操逼逼| 天天插夜夜操| 超清福利精品视频在线| 思思热一热婷婷热一热| 亚洲黄色a级片| 精品少妇人妻av久久免费| 另类图片欧美激情综合| 在线免费观看高清无码视频| 天天噜| 91色拍| 精品国产乱码久久久久久蜜臀| 91色插| 亚洲少妇在线观看| 久久岛国| 女人综合网| 午夜爽爽爽| 九九九九九九视频免费| 91欧美综合| 亚洲超碰97| 国产精品96久久久久久| 国产精品久久久 | 亚洲精品视频在线| 丁香激情网| 日本色色网| 淮穴色AV| 久久九九99| 青青草中文-久久青草精品一区二区三 | 操九九九九九九| 久久久精久久久| 99re6国产精品99re在线| 嗯嗯嗯啊啊啊操的我好爽| 九九精品美女高溯喷水| 日日干夜夜操视频h| 中文字幕十五区| 曰本91情色| 韩国毛片一区二区三区| 999九九九九国产动| 2017天天操天天日| 欧美高清16| 婷婷色综合欧美日韩| 成人国产视频在线观看| 麻豆国产视频精品观看| 操高情无码| 日韩乱插| 欧美亚性天堂| 国产又黄又猛又粗又爽的网站| 97se综合网| 欧美乱妇狂野欧美在线视频| 男人成人黄色视频在线观看免费下载| 尤物视频偷拍免费| 东京热毛片调教| 日韩少妇无码| 高清有码一区二区| 999亚洲国产视频| 亚洲中文字母在线播放| 99亚洲精品| 久久久久久大| 老司机午夜福利视频一区二区| 伊人久大| 无码人妻1727| 肉丝无码中文高清| 欧美人妻一区二区| 97色碰| 天天做日日做天天欢。| silk lablo在线观看一区二区| 国产第二页| 精品人妻一区二区三区视频在线| 9久久久久| 岛国激情视频在线观看| 日本123区操B视频| 三级三级三级日本99| 青青草伊人久久| 久久 久久国内精品亚洲| 伊人91| 伊人五月天婷婷| 亚洲黄网在哪免费看| 人人爽天天爽| 久干网| 大香蕉懂9| 99久久无码| 国语对白在线播放视频| 桃花色涩综合影院| 色女99一级片在线观看| 中文字幕日韩情色| 91中文字幕| 亚欧成人中文字幕一区| 99激情| 加勒比伊人综合| 啊啊啊啊啊啊啊啊在线观看| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 免费看污网站| 亚洲97网站| 一卡二卡三卡| 老司机深夜18禁污污网站| 精品性爱一区二区| 天天摸夜夜摸| 久久亚州大香蕉| 无码一区免费在线不卡| 亚洲成人久久美女| 亚洲熟妇无码一区二区三区| 亚洲欧美天| 久久久久久久强迫| 制服乱伦| 欧美 综合| 久久精品噜噜噜成人看免欧美大片| 国内亚洲高清无码| 久久久夜夜嗨免费视频| 青娱乐蜜桃臀AV色婷| 亚洲男人天堂2| 人妻干天天| 日韩啪啪啪啪啪| www.AV有限公司一区| 中文字幕在线免费观看 | 加勒比五月天| 91福利网在线观看| 大香网伊人久久综合| 97视频7| 亚洲图片欧美色| 无码国产精品久久久久| 操B久久| 2017大香蕉| 日本亚洲熟女视频| 二三四区精品| 欧美AB在线| 天天插夜夜操| 天美传媒av 在线| 粉嫩久久久久| 亚洲av性爱电影| 丁香五月成人| 久久蜜色情在线视频xxx免费观看| 欧美色乱| 99精品久久久久久久婷婷蜜桃| 欧美日韩亚洲天堂网| 天天看天天日| 9 9精品一区二区三区| 久久骚| 无码人妻精品一区二区中文| 色av中文字| 久久久久久久| 激情看片网站| 亚洲精品蜜桃久久久久久久| 2020久久免费视频| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 久久久影院| 久久97视频| 可以在线观看的黄色网址| 四虎影视在线| 天天天干977| 一级久久久久久久久久久| 久久一二三四不卡| 亚洲无线观看久久| 欧美后进式| 91色插| 99爱爱| 超碰久草| 五月天婷精品激情| 青青草成人视频在线观看二区| 人人操人人舒服| 成人熟女视频一区二区三区| 97亚洲在线| 人人摸人人干| 玖玖久久久| 中字乱伦AV| 精品十八在线观看| 亚洲蜜乳av| 天天舔天天日天天射| 九月丁香婷婷色| 天天日天天射天天干| AV乱伦专区| 中文字幕av久久爽Av| 色99999| 日韩精彩免费| 9色国产精品一区粉嫩| 精品夜夜澡人妻无码| 国产60页| 五月天激情视频| 人妻天堂网| 人妻天天夜夜爽一区二区| 一本色道熟妇| 国产亚洲一黄| 98久久| 91男女啊啊啊| 国产午夜精品理论片一二三区区| 欧美熟妇乱码在线一区| 国产精品视频内谢女人| 在线综合 亚洲 欧美中文字幕 | 少妇诱惑视频| 亚洲无码国产探花在线观看| 色久桃花影院在线观看| 人人摸人人舔一区二区| 后入日本1234| 蜜乳AV.COM| 欧美激情久久久久| 首页中文字幕中文字幕免费| 精品中文一区二区| 91精品国产高清久久久久久,亚洲成人| 久久99干一本高清| 综合色99| 久久少妇| 久久综合精品一区二区三区| 激情小说图片亚洲首页| 麻豆 亚洲 97| 国产精品自拍欧美在线| 老司机福利社视频在线观看| 大香蕉婷婷| 免费操逼91| 亚洲综合888| 欧美一区二区三区另类精品| 精品少妇人妻一区二区三区| 男女真人网18| 人妻熟女一区二区三区视频| 92福利社视频| 91综合在线| 亚州色图欧美| 亚洲最大网站av| julia国产在线| 99精品丰满人妻无| 日日插夜夜| 免费草草草草草视频| 婷婷色色五月| 亚洲春色一区二区三区| 婷婷精品国产一区二区三区日韩| 成人免费福利在线观看| 欧美姓爱综合网| 久久发布国产伦子伦精品| 天天干干天天干干| 后入合集| 人妻天天操天天爽视频免费| gogogo免费高清看中国国语| 国产成人啪一区二区| 性爱综合网| 成人av福利在线观看| asc国产精品| 日韩草久视频| 久久人人爽爽人人爽人人片αV| 狠狠97| 91色女| 97欧美性爱| 一级二级在线观看| 97se综合网| 99日精品欧美国产| 欧美成人一级麻豆| 中文日韩欧美熟| 淫妻综合网| 欧美性爱日韩性爱| 一区二区影视| 日韩性爱小视频| 一级A啪啪啪啪| 91肉片| 日韩无码AB| 六月色婷婷| 91碰超| 91热色| 色色色网站| 精品美女久久久久| 国产精品农村妇女精品| 69精品人人人人| 亚洲无线码一区国产欧美国| 夜草网站| 天天干人妻视频| 九九九久千久久激情蜜桃在线看 | 操逼视频亚洲| 国产农村妇女精品| 97操综合| 亚洲精品一二三四区| 九九综合久久| 91东京热男人的天堂| juliaann欧美丝袜办公室|