国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

在skynet中集成KCP協(xié)議:原理、綁定實(shí)操與延遲優(yōu)化實(shí)踐

在skynet中集成KCP協(xié)議:原理、綁定實(shí)操與延遲優(yōu)化實(shí)踐 我最早接觸 KCP是在一版強(qiáng)調(diào)實(shí)時(shí)同步的戰(zhàn)斗服務(wù)里。skynet 本身對(duì) TCP 的支持非常成熟網(wǎng)關(guān)、轉(zhuǎn)發(fā)、agent 這些鏈路都能順暢跑起來(lái)但真到了玩家技能、位置高頻同步的時(shí)候TCP 的重傳隊(duì)列和擁塞窗口經(jīng)常把一次小抖動(dòng)放大成上百毫秒的延遲尖刺。后來(lái)我們把網(wǎng)絡(luò)層遷到 KCP 上情況好轉(zhuǎn)明顯。這里要特別說(shuō)明的是KCP 不是一個(gè)獨(dú)立服務(wù)它是一套基于 UDP 的可靠傳輸狀態(tài)機(jī)要真正在 skynet 里用起來(lái)需要把 KCP 的 C 實(shí)現(xiàn)和 skynet 的 socket 事件、定時(shí)器消息縫在一起。這篇文章不講 KCP 原理 PPT直接講怎么綁、綁的時(shí)候哪些坑最傷人。1. 為什么在 skynet 里折騰 KCP一次延遲敏感服務(wù)的選型復(fù)盤1.1 TCP 在幀同步場(chǎng)景下的“超時(shí)放大”問(wèn)題skynet 自帶的網(wǎng)絡(luò)鏈路大多數(shù)情況下是 TCP。TCP 的可靠性由內(nèi)核保證每個(gè)包都要確認(rèn)丟包了要重傳而且重傳時(shí)間走了指數(shù)退避。這在普通登錄、聊天場(chǎng)景里完全夠用但在幀同步或者狀態(tài)同步要求很高的戰(zhàn)斗里玩家操作是通過(guò)高頻小包上報(bào)的一旦某個(gè)包丟了TCP 會(huì)阻塞后續(xù)所有數(shù)據(jù)等重傳成功才開始繼續(xù)推進(jìn)。表現(xiàn)出來(lái)就是玩家端莫名其妙卡一下然后一瞬間收到一堆遲到的同步數(shù)據(jù)角色瞬移、技能時(shí)間軸錯(cuò)亂。這種“隊(duì)頭阻塞 重傳退避”的組合是 TCP 在設(shè)計(jì)上為公平性付出的代價(jià)。它優(yōu)先保證可靠性和網(wǎng)絡(luò)公平不優(yōu)先保證延遲。KCP 不是要推翻 TCP 的可靠性而是把可靠性的實(shí)現(xiàn)放到應(yīng)用層用更激進(jìn)的重傳策略、可選擇的無(wú)延遲模式和快速重傳機(jī)制讓“丟包到恢復(fù)”的時(shí)間從幾百毫秒壓到幾十毫秒。這也是我當(dāng)時(shí)決定在 skynet 里引入 KCP 的根本原因不是 TCP 不靠譜而是它不適合對(duì)延遲極度敏感的場(chǎng)景。1.2 KCP 解決的問(wèn)題與不解決的問(wèn)題KCP 解決的問(wèn)題很明確在不保證可靠傳輸?shù)?UDP 之上加上一套確認(rèn)、重傳、排序機(jī)制。它把 TCP 里由內(nèi)核管理的發(fā)送窗口、接收窗口、重傳隊(duì)列全部搬到用戶態(tài)交給開發(fā)者控制。你可以讓每個(gè)包更快被重傳可以關(guān)閉擁塞控制甚至在犧牲帶寬的前提下把延遲降到最低。對(duì)游戲來(lái)說(shuō)這通常意味著弱網(wǎng)下的操作反饋更快玩家不用系統(tǒng)性等待網(wǎng)絡(luò)恢復(fù)。但 KCP 不解決的問(wèn)題也要說(shuō)清楚。首先它不處理 NAT 穿透也不管路由質(zhì)量網(wǎng)絡(luò)物理丟包率太高時(shí)KCP 只是比 TCP 恢復(fù)得快不代表游戲不卡。其次KCP 假設(shè)調(diào)用方自己維護(hù)時(shí)間源它內(nèi)部所有的超時(shí)判斷都依賴外部傳入的當(dāng)前毫秒數(shù)如果上層定時(shí)器不準(zhǔn)KCP 的 RTO 計(jì)算也會(huì)跟著飄。第三KCP 不會(huì)自動(dòng)幫你做連接管理底層是 UDP沒(méi)有三次握手也沒(méi)有連接狀態(tài)超時(shí)斷線必須由業(yè)務(wù)層設(shè)計(jì)心跳。1.3 綁定方式選哪種C 服務(wù)內(nèi)置還是 Lua 模塊封裝在 skynet 里綁定 KCP業(yè)內(nèi)通常走兩條路。第一條是把 KCP 邏輯寫進(jìn)一個(gè) C 服務(wù)這個(gè)服務(wù)持有 UDP socket 和一組 KCP 會(huì)話對(duì)象收包、解包、調(diào)用 ikcp_input全部在 C 層完成再把最終業(yè)務(wù)消息發(fā)給對(duì)應(yīng)的 agent 服務(wù)和房間服務(wù)。優(yōu)點(diǎn)是性能好、拷貝少適合純 C 實(shí)現(xiàn)的戰(zhàn)斗邏輯或高頻網(wǎng)關(guān)。缺點(diǎn)是開發(fā)調(diào)試成本高尤其是包頭協(xié)議變更時(shí)每次都要編譯。第二條路是在 Lua 層封裝。skynet 的 socket API 本身是消息驅(qū)動(dòng)通過(guò) socket.udp 綁定端口收到 UDP 數(shù)據(jù)后進(jìn) Lua 回調(diào)再調(diào)用一個(gè)封裝好的 KCP Lua 模塊。開發(fā)速度快配合 skynet.console 可以隨時(shí)看會(huì)話狀態(tài)甚至能在不重啟服務(wù)的情況下調(diào)整某一路連接的參數(shù)。代價(jià)是每次消息都有一層額外的 Lua/C 邊界拷貝對(duì)很極端的同屏戰(zhàn)斗來(lái)說(shuō)可能吃緊。我的建議是先做 Lua 封裝跑通業(yè)務(wù)再根據(jù)壓測(cè)結(jié)果決定是否把這層下沉到 C。綁定 KCP 最大的難點(diǎn)從來(lái)不是性能而是你還沒(méi)搞清楚 KCP 狀態(tài)機(jī)時(shí)就把復(fù)雜度引入了 C 代碼。2. 綁定前的狀態(tài)機(jī)功課conv、窗口、nodelay 這些參數(shù)到底怎么配2.1 會(huì)話標(biāo)識(shí)一個(gè) UDP 端口如何映射多個(gè) KCP 連接KCP 的每個(gè)會(huì)話對(duì)象都由一個(gè) conv 值區(qū)分。conv 本質(zhì)上是會(huì)話 ID客戶端和服務(wù)端必須約定相同的 convKCP 協(xié)議頭里第一個(gè) 4 字節(jié)就是這個(gè)字段。由于 UDP 本身是無(wú)連接的skynet 里一個(gè) UDP fd 上可能同時(shí)跑幾十上百個(gè)客戶端所以服務(wù)端必須維護(hù)一張從 conv 到 KCP 會(huì)話的映射表。這里有個(gè)細(xì)節(jié)容易踩坑KCP 包的頭里帶 conv但它不區(qū)分“這個(gè)包是新連接還是舊連接”。服務(wù)端收到一個(gè)從未見過(guò)的 conv不能立刻拒絕應(yīng)當(dāng)把它當(dāng)成新會(huì)話建立請(qǐng)求。業(yè)務(wù)層要再定義一層握手消息來(lái)確認(rèn)身份比如客戶端首包帶一個(gè) session id服務(wù)端校驗(yàn)通過(guò)后才允許后續(xù)數(shù)據(jù)進(jìn)入游戲邏輯。KCP 只保證傳輸通道可靠不保證玩家身份合法。2.2 收發(fā)窗口與 MTU調(diào)整前先理解隊(duì)列模型KCP 內(nèi)部維護(hù)發(fā)送窗口和接收窗口。發(fā)送窗口決定在未收到確認(rèn)前最多有多少個(gè)分段可以被丟到網(wǎng)絡(luò)上接收窗口決定對(duì)方即使提前發(fā)來(lái)更多數(shù)據(jù)KCP 一次最多緩存多少分段。窗口太大會(huì)導(dǎo)致內(nèi)存占用升高窗口太小則吞吐上不去尤其是在高丟包環(huán)境下窗口小很容易把鏈路打滿。MTU 則影響分段策略。KCP 默認(rèn)按 1400 字節(jié)左右去切分用戶數(shù)據(jù)超過(guò) MTU 的大包會(huì)被拆成多個(gè)分段每個(gè)分段按序號(hào)重傳和重組。在 skynet 里綁定時(shí)我建議 MTU 先保持默認(rèn)不要在前期調(diào)它。真正需要調(diào)整的是業(yè)務(wù)消息大小一次 ikcp_send 最好不要超過(guò) 1200 字節(jié)這樣大部分戰(zhàn)斗同步消息都不觸發(fā)分段省掉不少重組開銷。如果你堅(jiān)持要傳大包也要接受它被打散后任意一個(gè)分段丟失都會(huì)讓整個(gè)業(yè)務(wù)包無(wú)法交付。窗口參數(shù)我一般給一個(gè)相對(duì)穩(wěn)的經(jīng)驗(yàn)組合發(fā)送窗口 64接收窗口 64。如果同屏同步對(duì)象多、單幀數(shù)據(jù)量超過(guò) 4KB再適當(dāng)調(diào)大。注意窗口是按“分段”計(jì)算的不是按“邏輯包”計(jì)算一個(gè) 4000 字節(jié)的業(yè)務(wù)包切成 3 個(gè)分段就占 3 個(gè)窗口槽位。2.3 nodelay 組合游戲常用參數(shù)的含義與代價(jià)KCP 的 nodelay 參數(shù)有四個(gè)經(jīng)常有人只調(diào)第一個(gè)后面三個(gè)不動(dòng)結(jié)果延遲改善不明顯。完整的參數(shù)組合是nodelay、interval、resend、nc。nodelay 設(shè)為 1 表示關(guān)閉延遲等待盡量發(fā)出去interval 是內(nèi)部狀態(tài)機(jī)更新的最小時(shí)間間隔單位毫秒resend 控制快速重傳的觸發(fā)閾值nc 表示是否關(guān)閉擁塞控制設(shè)為 1 表示關(guān)閉。我的常用組合是 nodelay1interval10resend2nc1。這個(gè)組合的含義是每 10 毫秒驅(qū)動(dòng)一次 KCP 更新開啟快速重傳關(guān)閉擁塞控制。它適合局域網(wǎng)或者可控弱網(wǎng)環(huán)境能明顯降低延遲但代價(jià)是網(wǎng)絡(luò)擁塞時(shí)不會(huì)主動(dòng)退讓可能把丟包率進(jìn)一步拉高。所以這個(gè)參數(shù)不是所有場(chǎng)景都適用如果是公網(wǎng)大型多人在線穩(wěn)妥做法是先 nc0 跑一段時(shí)間用監(jiān)控?cái)?shù)據(jù)說(shuō)話。你可以在 skynet 的 Lua 服務(wù)里封裝一個(gè)接口暴露這四個(gè)參數(shù)方便后續(xù)熱調(diào)。我就吃過(guò)參數(shù)寫死的虧開發(fā)環(huán)境跑得好好的一上弱網(wǎng)測(cè)試傻眼了重傳風(fēng)暴把服務(wù)器出口帶寬吃滿最后定位出來(lái)就是 nc1 加 resend2 在丟包率超過(guò) 15% 時(shí)過(guò)于激進(jìn)。3. 在 skynet 里接住 KCP完整數(shù)據(jù)鏈路拆解3.1 收包鏈路UDP 數(shù)據(jù)到達(dá)后如何交給 ikcp_input不管走 C 服務(wù)還是 Lua 封裝收包鏈路的順序是固定的。skynet 的 socket 層收到 UDP 包后回調(diào)或者消息里帶著一段字節(jié)流第一個(gè)動(dòng)作是解析出 KCP 頭里的 conv然后拿 conv 去會(huì)話表里查 KCP 對(duì)象。找不到就創(chuàng)建找到了就把去掉頭部的原始 KCP 報(bào)文交給 ikcp_input。ikcp_input 這一步非常關(guān)鍵它不能只被調(diào)用一次就完事因?yàn)樗鼉?nèi)部會(huì)根據(jù)序列號(hào)判斷哪些數(shù)據(jù)是新數(shù)據(jù)、哪些是重復(fù)包同時(shí)更新確認(rèn)信息和接收緩沖區(qū)。調(diào)用完 ikcp_input 之后還要反復(fù)調(diào)用 ikcp_peeksize 和 ikcp_recv 把完整業(yè)務(wù)包取出來(lái)因?yàn)橐粋€(gè) UDP 包可能只包含業(yè)務(wù)包的一個(gè)分段也可能一個(gè)業(yè)務(wù)包被拆成多個(gè)分段分批到達(dá)。-- 偽代碼展示收包主流程 function kcp_network:udp_recv(packet, addr) local conv bytes_to_uint32(packet, 1) local kcp self.sessions[conv] if not kcp then kcp self:new_session(conv, addr) end -- 去掉外層 conv 頭之后剩下的就是 KCP 協(xié)議報(bào)文 kcp:input(packet:sub(5)) while true do local peek kcp:peeksize() if peek 0 then break end local msg kcp:recv() skynet.send(self.agent[conv], lua, msg) end end這段偽代碼是最核心的框架。真正實(shí)現(xiàn)時(shí)new_session 里面不要急著 skynet.send先給 agent 服務(wù)發(fā)一個(gè)會(huì)話建立消息由 agent 決定要不要接納這個(gè)連接。業(yè)務(wù)層需要把會(huì)話映射和玩家綁定分開管理。3.2 發(fā)包鏈路ikcp_output 回調(diào)與真正 socket 發(fā)送KCP 是一套獨(dú)立的狀態(tài)機(jī)它并不直接操作 UDP socket。當(dāng) KCP 內(nèi)部產(chǎn)生需要發(fā)出去的報(bào)文時(shí)會(huì)通過(guò)一個(gè) output 回調(diào)把這些報(bào)文交給你。你必須自己實(shí)現(xiàn)這個(gè)回調(diào)否則數(shù)據(jù)只會(huì)堆積在 KCP 的發(fā)送緩沖里永遠(yuǎn)不會(huì)真正到達(dá)網(wǎng)絡(luò)。所以每次調(diào)用 ikcp_update 之后KCP 會(huì)把待發(fā)送的數(shù)據(jù)整理好在 update 內(nèi)部通過(guò) output 回調(diào)一批一批吐出來(lái)?;卣{(diào)里拿到的是一段完整 UDP 負(fù)載需要你自己補(bǔ)上 conv 頭然后通過(guò) skynet 的 socket 發(fā)送接口 sendto 到客戶端地址。注意這里發(fā)送的不一定是用戶調(diào)用 ikcp_send 的原始數(shù)據(jù)而是 KCP 分段后的報(bào)文可能一個(gè)用戶包被拆成好幾個(gè) UDP 小包。// 偽代碼展示 output 回調(diào)的實(shí)現(xiàn)思路 static int udp_output(const char *buf, int len, ikcpcb *kcp, void *user) { struct session *s (struct session *)user; // KCP 回調(diào)的數(shù)據(jù)需要加上 conv 頭再發(fā)給遠(yuǎn)端 uint32 conv ikcp_getconv(kcp); char head[4] {conv 24, conv 16, conv 0xff, 0}; // 調(diào)用 skynet socket sendto }這個(gè)回調(diào)的線程模型很容易埋雷。如果 KCP 對(duì)象在主服務(wù)線程更新output 回調(diào)也發(fā)生在主服務(wù)線程那么里面直接調(diào) socket 發(fā)送是安全的。如果底層 UDP fd 被別的線程監(jiān)控就要謹(jǐn)慎處理跨線程 sendto 的問(wèn)題。最省心的方式是讓所有 KCP 相關(guān)的操作全部收斂到同一個(gè)服務(wù)線程里。3.3 定時(shí)驅(qū)動(dòng)用 skynet 超時(shí)消息喚醒 ikcp_updateKCP 不會(huì)自己蘇醒它必須被周期性調(diào)用 ikcp_update并在恰當(dāng)?shù)臅r(shí)機(jī)調(diào)用 ikcp_flush。skynet 里最常見的做法是給持有 KCP 會(huì)話的服務(wù)掛一個(gè)循環(huán)定時(shí)器每隔一小段時(shí)間遍歷所有會(huì)話調(diào)用一次 update。但更精確的做法是使用 ikcp_check。ikcp_check 會(huì)返回一個(gè)毫秒時(shí)間點(diǎn)告訴你在當(dāng)前時(shí)間之后下一次必須調(diào)用 update 的時(shí)機(jī)。你把這個(gè)時(shí)間點(diǎn)換算成相對(duì)延時(shí)然后通過(guò) skynet.timeout 注冊(cè)下一次定時(shí)器。這樣 KCP 在空閑時(shí)可以盡量少喚醒在網(wǎng)絡(luò)繁忙時(shí)又能保證調(diào)度足夠密集。-- 偽代碼展示使用 check 的定時(shí)循環(huán) function kcp_network:tick() local now now_ms() local next_time 0x7fffffff for conv, kcp in pairs(self.sessions) do kcp:update(now) local check_at kcp:check(now) if check_at next_time then next_time check_at end end self:set_timeout(next_time - now_ms()) endskynet 的定時(shí)器精度受服務(wù)消息隊(duì)列繁忙程度影響如果你的戰(zhàn)斗邏輯服務(wù)在同一條線程里處理大量消息定時(shí)器觸發(fā)可能晚于預(yù)期。這時(shí)候 KCP 的 RTO 就會(huì)偏慢因?yàn)橐磺袝r(shí)間判斷都基于你傳入的 now_ms 和實(shí)際觸發(fā)時(shí)刻。所以綁定 KCP 的服務(wù)盡量不要和重 CPU 邏輯擠在同一個(gè)服務(wù)里。3.4 斷線檢測(cè)KCP 不負(fù)責(zé)告訴你連接斷了很多第一次用 KCP 的人會(huì)問(wèn)對(duì)方斷線了KCP 能檢測(cè)到嗎答案是能感知一部分但不能完全依賴。KCP 知道哪些包一直沒(méi)被確認(rèn)也知道對(duì)方最后的確認(rèn)序號(hào)停留在哪但 UDP 沒(méi)有連接狀態(tài)KCP 無(wú)法區(qū)分“對(duì)方網(wǎng)絡(luò)差”和“對(duì)方已經(jīng)下線”。所以綁定到 skynet 后業(yè)務(wù)層必須自己設(shè)計(jì)心跳。常見方案是應(yīng)用層心跳包每隔幾秒通過(guò) KCP 發(fā)送一個(gè) ping 消息服務(wù)器維護(hù)最后活躍時(shí)間超過(guò)心跳間隔的若干倍就判定超時(shí)回收會(huì)話對(duì)象。不要把這個(gè)邏輯和 KCP 的 nodelay 參數(shù)混在一起應(yīng)用層心跳是業(yè)務(wù)規(guī)則KCP 重傳是傳輸規(guī)則兩者缺一不可。我當(dāng)時(shí)的教訓(xùn)是最初把超時(shí)判定寄托在 KCP 的發(fā)送隊(duì)列上以為發(fā)了很多包沒(méi)確認(rèn)就說(shuō)明對(duì)方斷了結(jié)果玩家只是切換 Wi-Fi網(wǎng)絡(luò)短暫中斷后本可以恢復(fù)卻被服務(wù)器提前踢下線體驗(yàn)非常差。后來(lái)改成應(yīng)用層心跳加 10 秒超時(shí)閾值誤踢率降為 0。4. 綁定期的三個(gè)大坑外層包格式、分幀習(xí)慣、并發(fā)邊界4.1 在外層還是復(fù)用 KCP 自帶的 conv 頭KCP 協(xié)議頭本身自帶 conv 字段理論上不需要再包一層。但在 skynet 里綁定我強(qiáng)烈建議留一個(gè)極小的外層頭哪怕只是 4 字節(jié) conv 復(fù)制一份。原因很實(shí)際skynet 的消息系統(tǒng)里UDP 數(shù)據(jù)到達(dá)服務(wù)端時(shí)你拿到的是整段數(shù)據(jù)不可能每次都去解析 KCP 的內(nèi)部偏移而且未來(lái)你可能需要升級(jí) KCP 版本或者加加密、加客戶端版本號(hào)外層頭給你的擴(kuò)展空間遠(yuǎn)比直接用 KCP 頭大。外層頭設(shè)計(jì)成 [1 字節(jié)版本][4 字節(jié) conv][2 字節(jié)長(zhǎng)度][payload] 就夠了。版本號(hào)留給協(xié)議演進(jìn)conv 用于會(huì)話映射長(zhǎng)度字段幫你判斷 UDP 粘包因?yàn)闊o(wú)連接不代表不會(huì)一次收多個(gè)應(yīng)用包。KCP 本身會(huì)把大包分片重組但業(yè)務(wù)邏輯要一次性讀完整條消息長(zhǎng)度字段能省掉很多邊界判斷。4.2 KCP 已經(jīng)解決了半包但業(yè)務(wù)分幀仍要自己做這句話聽起來(lái)矛盾其實(shí)不矛盾。KCP 是消息協(xié)議一次 ikcp_send 對(duì)應(yīng)一次 ikcp_recv它已經(jīng)幫你解決了 TCP 那種字節(jié)流半包問(wèn)題。真正容易出問(wèn)題的是發(fā)送側(cè)如果業(yè)務(wù)層把兩條邏輯消息拼在一個(gè) buffer 里發(fā)送接收方拿到后就必須自己拆開。很多團(tuán)隊(duì)剛開始接 KCP 時(shí)覺(jué)得隨便后面加協(xié)議字段就痛苦了。正確的姿勢(shì)是每個(gè)業(yè)務(wù)邏輯消息單獨(dú)調(diào)用一次 ikcp_send發(fā)送前在業(yè)務(wù) payload 最前面加一個(gè) 2 字節(jié)的消息類型字段。這樣接收方 ikcp_recv 拿到的就是一個(gè)帶類型的完整業(yè)務(wù)包直接按類型分發(fā)不需要再維護(hù)拼包狀態(tài)機(jī)。KCP 做的是傳輸層可靠業(yè)務(wù)層協(xié)議仍然要按消息幀設(shè)計(jì)。4.3 并發(fā)邊界讓所有 KCP 操作收斂到同一條服務(wù)線程skynet 服務(wù)默認(rèn)是“單消息隊(duì)列 串行回調(diào)”看似不會(huì)并發(fā)但底層 socket 事件來(lái)源、定時(shí)器來(lái)源可能不在同一條線程。如果你在 C 服務(wù)里直接寫很容易出現(xiàn)兩個(gè)線程同時(shí)訪問(wèn)同一個(gè) KCP 對(duì)象的情況輕則數(shù)據(jù)錯(cuò)亂重則觸發(fā)段錯(cuò)誤。我推薦的做法是KCP 會(huì)話對(duì)象不對(duì)外暴露任何人想操作連接都通過(guò) skynet 消息投遞到持有該連接的 service。UDP 收包線程收到數(shù)據(jù)后只負(fù)責(zé)把原始字節(jié)放入消息隊(duì)列不直接調(diào) ikcp_input定時(shí)器線程只負(fù)責(zé)發(fā)一條 tick 消息不直接調(diào) ikcp_update。這樣所有 KCP 相關(guān)操作都在服務(wù)線程的 invoke 流程里串行完成天然免鎖。4.4 綁定期常見問(wèn)題排查清單現(xiàn)象可能原因驗(yàn)證方法收到 UDP 包但業(yè)務(wù)消息始終不出現(xiàn)output 回調(diào)沒(méi)實(shí)現(xiàn)或 send 后沒(méi)調(diào) update在 output 回調(diào)里打日志看是否有產(chǎn)出丟包后恢復(fù)明顯偏慢interval 太大、nodelay0短間隔下用日志記錄 RTT 分布內(nèi)存持續(xù)上漲發(fā)送后沒(méi)及時(shí) update隊(duì)列堆積監(jiān)控每個(gè)會(huì)話的 snd_queue 長(zhǎng)度一段時(shí)間后對(duì)方全斷線應(yīng)用層心跳機(jī)制缺失抓 UDP 包看是否有周期性數(shù)據(jù)這張表是我踩坑之后的濃縮。它不能解決所有問(wèn)題但能幫你快速定位 70% 的綁定期 bug。5. 參數(shù)調(diào)優(yōu)與落地測(cè)試我踩過(guò)之后的實(shí)操建議5.1 先跑通默認(rèn)參數(shù)再上弱網(wǎng)壓測(cè)綁定 KCP 最大的敵人是“自以為理解了參數(shù)”。一開始我也直接套了 nodelay1、interval10、resend2、nc1結(jié)果在丟包模擬環(huán)境里重傳風(fēng)暴把帶寬吃光了。后來(lái)我改成先跑默認(rèn)參數(shù)確認(rèn)整個(gè)鏈路通數(shù)據(jù)可靠再逐步調(diào)整。弱網(wǎng)工具我推薦直接在內(nèi)網(wǎng)機(jī)器上做延遲和丟包模擬把丟包率設(shè)定為 3%、5%、10%、15% 四檔。每檔跑至少五分鐘記錄業(yè)務(wù)層的有效傳輸成功率。不要只看 KCP 是否最終把包送到了游戲體驗(yàn)更關(guān)心的是“多少包在 50 毫秒內(nèi)到達(dá)”這個(gè)指標(biāo)才能反映弱網(wǎng)手感。5.2 推薦的監(jiān)控維度與驗(yàn)收指標(biāo)KCP 綁進(jìn) skynet 后至少要有四個(gè)監(jiān)控維度日志里能看到每個(gè)會(huì)話的重傳次數(shù)、每個(gè)會(huì)話的發(fā)送隊(duì)列長(zhǎng)度、一次業(yè)務(wù)消息從 send 到 recv 的耗時(shí)分布、以及應(yīng)用層心跳超時(shí)次數(shù)。驗(yàn)收指標(biāo)我建議定兩條線?;A(chǔ)線丟包率 5% 時(shí)90% 的業(yè)務(wù)消息延遲在 100 毫秒內(nèi)進(jìn)階層丟包率 15% 時(shí)連接存活率不低于 95%且不出現(xiàn)重傳風(fēng)暴導(dǎo)致出口帶寬打滿。如果你的服務(wù)滿足這兩條說(shuō)明綁定方案基本合格可以繼續(xù)做業(yè)務(wù)側(cè)優(yōu)化。5.3 一個(gè)值得做的改造把 KCP 封裝成獨(dú)立網(wǎng)絡(luò)服務(wù)等你把單機(jī)綁定跑通之后我建議再花點(diǎn)時(shí)間把 KCP 網(wǎng)絡(luò)層獨(dú)立成一個(gè) skynet 服務(wù)不把它和具體業(yè)務(wù)混在一起。這個(gè)網(wǎng)絡(luò)服務(wù)只負(fù)責(zé)管理 UDP socket、KCP 會(huì)話、心跳超時(shí)、消息收發(fā)向上提供一個(gè)統(tǒng)一的接口建立會(huì)話、發(fā)送消息、廣播消息、關(guān)閉會(huì)話。業(yè)務(wù)邏輯全掛在 agent 服務(wù)上。這樣做的收益很大。首先戰(zhàn)斗服需要熱更新時(shí)可以只更新業(yè)務(wù)服務(wù)不碰網(wǎng)絡(luò)層。其次壓測(cè)時(shí)可復(fù)制出多個(gè)網(wǎng)絡(luò)服務(wù)實(shí)例分別綁定不同端口觀察會(huì)話數(shù)和消息吞吐是否線性擴(kuò)展。最后后續(xù)如果要換加密算法或者改 MTU只需要改網(wǎng)絡(luò)服務(wù)內(nèi)部實(shí)現(xiàn)上層業(yè)務(wù)幾乎無(wú)感知。我在最后把綁定跑上線時(shí)最感慨的是綁定工作本身不難難的是意識(shí)到 skynet 的消息模型怎么和 KCP 的狀態(tài)機(jī)配合。所有跨線程的焦慮最后都?xì)w結(jié)為“讓每件事都在它該在的隊(duì)列里發(fā)生”。如果你也正在做類似的事先按文中的偽代碼跑通一次再開始?jí)簻y(cè)先解決“數(shù)據(jù)能流動(dòng)”再談參數(shù)優(yōu)化這樣會(huì)順很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产外初女出血视频| 99成人| 一本久道久久综合狠狠爱| 欧美性天天影院| 日韩字幕一区| 日本三级小说中文字幕| 欧美亚洲天堂| 久久久精品国产亚洲伊人| 精品美女人人干| 18禁精品网站在线看| 午夜精品99久久久久传媒| 天天日天天干天天摸天天操| 欧美性生活综合| 一区二区无码视频| 丰满的三级少妇欧美久久久| 91美女小视频| 九九久久久九九| 中欧人妻丝袜中文字幕 | 九九Av| 久久中久文96| 丁香婷婷色五月| 日本一二三免费久久| 国产成人精品亚洲日本| 插插综合网天天影视网| 婷婷色一区| 色图综合网| 久久手机好看网站| 7777奇米影视久久| 国产99999久久精品| 久久久精品视频免费观看| 91欧美另类| 欧美性生活免费网| 色哟哟AV| 欧美操逼一二三区| 高清有码一区二区| 激情文学欧美| 精品人妻av在线播放| 青青草色插素人| 国产aⅴ无码片毛片一级网站| 日韩9999| www超碰| 老妇女91| 日本男人插女人的逼黄色| 成人午夜小视频手机在线看| 中出20p| AV电影在线播放| 97天天摸天天爽| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 骚鸭AV| 国产精品久久久亚洲一区| 国产偷拍网站| 美女让帅哥通她小鸡鸡| 亚欧精品久久久久久久久久久| 久久伊人最新网址视频| 久久久久国产| 欧美性猛交美女自慰91| 国产特级毛片AAAAAA高潮流水 | 亚洲天堂在线怕怕视频| 精品69网| 亚洲激情天堂网| 日本性爱网址| 久久久久9999| 蜜桃精品一区二区三区久在线| www.99在线| 91老熟妇| 超碰在线成人电影| 96爱综合| 国产11页| α√在线| 日韩av电影成人在线| 日本久久999| 亚州情色j区| 国产一级高跟丝袜| 大香蕉淫人网| 亚洲男人天堂视频 | 日韩三级久久久| 国产农村妇女精品一| 日韩有码免费视频| 一区二区三区高清| 亚洲色图国产另类| 嗯啊不要在线| 国产 亚洲 丝袜 制服| 校园春色五月天| 91高潮喷水美女| 亚洲天堂中文字幕无码男同| 高清国产av无码| 牛牛操视频逼| 九热久| 天海翼久久| 九九九午夜| 偷拍自拍在线视频观看| 日本黄色精品专区网站| 美女诱惑久久| 变态另类专区| 青青草女人天天干| 亚洲极品| 一区二区三区四区久久视1| 亚洲综合春色| 欧美99| 成人网站 免费观看| 秋霞 色色| 玖玖综合视频| 91美女高潮| 亚洲国产一级中文综合久久天堂在线免费观看| 国产成人综合网| 99精品欧美一区二区三区桃色| 青青草国产欧美非洲黑人| 国产精品粉嫩福利在线| 亚洲视频,小说| 久草资源在线视频官方总站日韩丝袜美腿| 黑丝少妇| 人妻日日夜夜精品| 97综合在线观看| 大胆91| 日韩精品一区的| 亚洲精品官网在线观看| 三级三久久线久久99久目本WW| 亚欧高清在线| 人妻激情偷乱视三区频一区二区| 一级aaaaa欧美中文字幕录像片| 人人操人人色人人摸| 插入逼91| 爱啪精品一区| 色天欧美| 麻豆视频一区二区| 97免费在线观看| 九九九九九九九九九国产精品 | 欧美日韩亚洲天堂| 九九操久久国产免费视频| 久久久久久人| 亚洲情欲| 国产对白刺激视频| 十八禁av无码免费网站APP| 黄色人人| 国模少妇一区二区三区| 91九久| 久九九九九九九热| 九九九九九九九九九九九九九九九女| 欧美亚洲色的图| 热G综合热G中文| 婷婷人妻激情| 午夜福利国产欧美日韩夜夜| 无码直播久久久| 激情熟女12P| 深夜国产一区二区三区在线看| 竹菊影视国产一区二区| 婷婷五月天成人网| 免费人成毛片乱码| 欧美日韩精品一区二区三区高清| 久久98| 先锋精品av色鲁| 日韩美女久久一区二区三区| 麻豆影音天美视频| 加勒比东京热五月天天堂网| 97国产精品在线观看| 欧美精品一二三| 天堂无码| 国产日本久久免费精品| 欧洲综合视频| 亚洲欧洲第二视频在线观看色图| 91美女视频直播| 久久久久久综合久久伊人蜜月| 日韩日本欧美在线观看| 亚洲精品人妻吞精av | 天天透伊人| 国产熟女一区二区丰满| 丝袜高跟澳门91视频| 3级毛片一二| 日韩兔费看黄片| 免费的黄片有限公司| 中文字幕狠狠玩| 五月综合激情网| 欧美亚男人的天堂| 人妻天天爽夜夜爽2| 深夜国产福利| 激情网色| 精品免费一区二区三区在线亚洲人成| 乱码人妻一区二区三区| 92一区二区| 影音先锋视频在线| ,国产乱人伦精品一区二区三区| 天天插天天操天天摸天天射天天看| 国产久久天堂资源| 五月天久久综合网| 色优久久| 黄色区免费观看中文字幕| 色丁香久久| 宗合情欲网| 九九九九九九九九九国产精品| 久久超碰国产一区二区三区| 亚洲中文日韩欧美大香蕉视频| 男人的天堂不卡一区二区| 伊人精品视频| 日本精品五区| 99精品免费| 日韩操呦呦影院在线观看| 精品对白久久不卡| 欧美成人午夜免费福利785| 97网址www| 天天综合网~91| 国产黄色小视频网站| 婷婷五月成人| 在线观看啊啊啊啊啊| 最近2018中文字幕在线高清第一页| 国产成人综合网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 夜夜夜夜久久久久| 国产三级多多影院2022国产AA一级毛片无码| 色蜜AV| 中文字幕青青草| 免费啪啪一级视频| 超碰97在线中文| 天天干天天燥| 久草资源欧美在线视频| 国产精品不卡一区二区三区av| 99爱精品| 亚洲高清色综合| 中文字幕日本久久| 国产97av| 婷婷久久网| 久久精品日韩专区免费观看| 在线A日本| 久日91在线| 另类亚洲一区二区三区| 色综合中文字幕不卡| 亚洲熟女诱惑| 五月丁香激情综合网| 超碰 国产熟女精品一区| 久久精品国产AV一区二区三区| 九一亚洲国产免费| A一区片| 少妇69中文| 尤物网站91| 色女网日韩| 97干97色| 91最新综合| 明星性猛交ⅹxxx乱大交| 密桃99999| 97美日韩视频| 欧美激情总合网| 亚洲av青草久久一区二区| 日本欧美成人片AAAA| 青青草大香蕉视频| 亚洲男人bt天堂| 97天天综合| 男人的天堂2019AV| 国产乱子伦一区二区三区在线观看| 午夜免费福利视频一区| 亚洲日韩资源| 天天干天天做| 久久精品一区二区| 欧美色图片91| 日韩中文字幕精品一区在线| 欧美色图人妻| 极品尤物在线观看| 丰满人妻一区二区三区| 蜜臀久久99精品久久久老,,| 久久久999| 综合网,亚洲,欧美| 香伊人在线| 东京成人一区| 久久性爱大全| 麻豆AV一区二区天美传媒| 99性爱视频| 亚洲日韩电影| 日本一区99| 金莲网址| 午夜美女诱惑电源网| 99色| 免费a级毛片av无码久久精品中文字幕| 日本一二三高清| 思思热久久成人| 91美女高潮| 欧美后进式| 国产又黄又爽又刺激久久久久久| 欧美综色欧| 67914亚洲精品| 囯产精品久久久久久久久久梁医生| 91性生活久久久| 国产大学生口爆吞精合集| 美女性91| 91嫩草欧美| 天堂种子在线www网资源| 9Ⅰ超碰| 天天综合有色网| 黄片com.| 神马久久久久久久| 久久久噜噜噜久久人妻| 精品久久久九九九孕妇| 免费观看的黄色的网站| 日本中文字幕不卡视频| 欧洲自拍第一页| 亚洲中文字幕乱码无码一区二区| 日本操BAV| 起碰97| 婷婷三区| 探花精品视频| 日本黄色精品专区网站| 日韩三级av片| 中文字幕女同在线| 久久久久日本视| 日本成人A片免费看| 精品人妻一区二区三区鲁大师| 成人熟女视频一区二区三区| 婷婷色导航| 日日操免费视频| 精品美女少妇一区二区| 日韩美女,国产传媒,视频一区| 天天爽人人综合免费7799| 色香av| 亚洲偷91色| 东北女人av| 免費黃色視頻觀看一| 日韩精品资源专区二区| 妇女一区二区三区| 日韩无码人妻中字久久三区四区| 男人的天堂VA在线| 亚洲情色五月天| 全球成人中文在线| 免费精品人妻一区二区三| 亚洲精品久久久久毛片A片拉屎 | 国产青视频| 日韩啪啪啪啪啪| 久草免费在线一区二区| 久久受www免费人成| 国语精品av| 91欧美性| 日本999精品| 中文字暮97| 人人考人人摸人人干| 999亚洲国产视频| 乱伦熟女论坛| 亚洲av资源| 天天热精品| 91爱看| 美女啪欧美一区| 看日韩美女二区三区免费操逼视频| AV污污污污| 91av一区二区在线观看| 日韩中文字幕精品一区在线| 豆花视频操逼网址| 日韩av免费一级电影| 偷拍 亚洲 欧美| 麻豆一区二区三区在线看| yazhouzaixian| 91色堂| 神马影院午夜福利久久久| 校园春色综合色| 91色女| 超碰午夜在线| 97久久精品亚洲中六字幕| 97九色人妻| 亚洲欧美精品福利在线| 九九色综合| 久草这里只有精品 | 日本久久网| 日韩国产乱子伦App| 凹凸久久人人| 欧美强奸乱| 97人人操人人摸人人爱| 久久艹逼视频| 偷拍伦理视频| 啊好爽受不了无码| 无码视频一区二区| 色女综合| 校园春色宗合网| 青青草玖玖爱| 国产sv美女内射| 老熟女网站| 91精品无码久久久久久久 | 午夜性生活av免费在线看| 青青操网| 国产黄片在线免费观看| 留下AⅤ黄色片| 人妻中文在线| 七久久久| 青春草A| 成人久久精品| 好爽要喷了| 91操熟妇| 26uuu成人影片| 色欲蜜臀AV| 另类专区在线观看| 蜜色网色哟哟| 内射卯月麻衣| JuliaAnn丝袜熟女系列| 久久久久久亚洲Av无码精| 18禁免费视频| 色色色热| 嗯~啊~快点 死我视频免费看网站| 9ⅰ久久久天天| 美女性91| 色色色色日本| 在线观看一卡二卡| 久久精品店| 五月丁香社区婷婷日韩欧美精品影院| 夜夜操二区| 久久一区二区加油站| 91 丝袜在线播放| 日韩欧美午夜视频在线| 九九热精品在线| 精品美女人人干| 日躁天天爽爽| 亚洲图片色图欧美另类| 久久婷婷一区二| 加勒比AV网| 黄色交缠性感爆操91国产精品免费一区二区三区 | 欧美性少妇| 最新国产精品| 日本熟女中文| 日韩精品操少妇| 欲香欲色综合天天伊人| 国产精品亚洲一级av第二区| 99热在线观看| 天天舔天天日天天射| 四虎精品永久在线播放| 丁香九月激情啪| 成人A片男人的天堂| 深夜激情| 免费看久久久性性| 啊啊啊啊二区好大| 欧美色图色综合| 五月天玖玖资源站| 欧美激情久| 激情小说在线视频| AV大香蕉| 美女91色黄18| 午夜亚洲国产理论秋霞| 成人夜夜爽| 久久精品日韩专区免费观看| 你懂的在线观看区国产| 久久久久久午夜男人的天堂| 熟女熟妇伦久久影院毛片一区二区| 超碰97久久| 九九色综合| 久湿久久| 亚欧无码在线| 九月丁香婷婷色| 激情四射五月天| 一二三四视频在线社区中文字幕| A级在线视频| 91 手机在线播放 绯色| 亚洲精品黄码久久久久| 日韩成人性爱AV| 九区国产| 国产日韩精品人妻久久久久色欲网站 | 后入内射蜜桃臀| 操逼A∨| 一二三区在线| 600国产精品视频| 国产欧美亚洲精品a第2页| 99日免费视频中文字幕| www.99中文字幕| 超碰精品| 园内精品自拍视频在线播放| 国产美脚女优尤物在线观看| 日韩无码极品| 狼人综合婷婷激情四射 | 欧美成人一级免费电影| 超碰午夜| 无色无码| 精精品人妻一区二区三区| 亚洲操逼网| 精品国产乱码久久久久久免费| 中文字幕交换人妻| 在线情色电影 91大 | 国产成人午夜视频网址| a片亚洲一本通视频| 中文字幕亚洲永久精品| 少妇第一页| 91爆操视频| 97超碰超欧美。| 自拍偷拍 日韩无码| 日本中文字幕一区| 97国产成人精品免费视频| 91网站18+| 婷婷五月天成人网| 五十路熟女人妻一区二区在线观看 | 99www.bibizy香蕉资源国产一区二区三区高清 | 婷婷色中文字幕| 色五月av| 在线 亚洲 网爆 自拍| 大香蕉视频一二三区| 99re6国产精品99re| 久久香蕉国产线看观看猫咪av| 老熟妇一区二区三区| 91久久久久久久| 一区在线精品中文字幕| 精品乱码久久久久| 看一级黄色视频| www亚洲欧美| 一区麻豆 高清中文字幕| 国产探花日韩援交| 亚洲91射| 天天插天天舔舔天天干| 家庭乱伦国产| 99这里只有精品| 中文字幕在线观看AV| 操逼国产免费| 国产97av| 大香蕉99热| 无码自拍SM| 蜜臀99久久| 夜夜综合| 蜜臀少妇一区二区| 亚洲成a人在线观看久| 国产97色在线 | 亚洲| 中文字幕一区 二 区 三 四 五 区日 日 骚| 丁香五六月啪啪| 综合网97| 九九热精品免费视频| 欧美精品成人在线播放| 少妇天堂| 91熟女综合| 婷婷五月天激情网| 久久精品高清AV| 超碰欧美97| 亚洲日韩熟女人妻高清在线| 国产欧美美女免费观看视频| 色哟哟511老熟女| 日韩9区| 好爽免费视频,| 刺激性视频黄页| 美国日韩黄色片| 99婷婷一区二区| 久久超碰天天| 欧美综合 站| 艳美熟妇先锋一二三区| 中文字幕成人理论在线| AV乱伦国产| 人人澡人人干| 国内一区二区三区| 黑人中出21连凳花野真衣| 亚洲精品亚洲人成人网| 久久精品国产亚洲AV嘿嘿| 亚洲色图 欧美| 色哟哟精品1精品2| 亚洲情色一区二区三区| 75大香蕉| 色一射色一射| 国产激情久久久| 亚洲啪啪视频免费| 五月亭亭六月丁香| 久久丝袜| 这里只有精品97| 自拍第一页| 日韩天天本| 玖玖爱一区在线| 精品久久久久黄少妇| www.婷婷| 91碰碰| 黄片在线免费在线观看| 亚洲欧美日韩免费电影| 最新三级网址| 久久久久人妻二区精品叶可怜| 色臀av| 久久久久久九九九九九| 91亚洲综合在线| 后入合集| 97日韩欧美亚洲| 久久视频,这里只有精品 | 欧美日韩成人在线| 日韩九区| 国产激情综合| 九九性视频| 99碰碰| 久操精品网| 日本网色| 亚洲 日本 一 二 三| 99综合免费视频| 日韩成人免费电影| 激情综合婷婷| 男人的天堂啪啪| 天天干一干| 久久麻豆一区二区| 国产超碰国产97| 欧美美女啪啪视频| 中文字幕 一区二区 亚洲无码| 亚洲欧洲视频小说在线观看| 欧美一区二区在线资源| 天天日日日射| 麻豆一区在线| 欧美专利1区2区3区4区5区免费| 欧美亚洲天天| 五月丁香社区婷婷日韩欧美精品影院 | 97久久国产精品| 一级性爱aaaa| 91bbbbbb| 久久色人体| 成人怡红院| 久久久久久久久久久久久久久性生活视频| 天天综合中文字幕 91| 伊人成人中文字幕久久网| 一区二区三| 超碰在线人妻不卡| 人人操人人搞人人草| 精品人妻视频一区二区在线播放 | 中文字幕综合人妻| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产狂喷潮在线精品| 少妇三P| 亚洲中文一区二区三区| 一区二三区四区视频大全套| 日本中文字幕在线电影| 极品销魂美女一区二区| 啊啊啊啊在线观看网址| 国产成人手机视频激情| 精品夜夜澡人妻无码AV| 少妇一线天久久久久久| 久草尤物| 美女黄码视频午夜| www.久久99| 百度百度日本操逼| 久久日本熟妇熟色高清| **一级毛片国产| 加勒比中文av| 啊啊啊好舒服好爽啊啊啊视频| 国产精品嫩草影院免费| 淫纸中9区| 精品一区二区三区最新| 强奸乱伦亚洲第一页| 高颜值美女口爆高潮浪叫| 天天色香欲综合网| 亚洲自拍天堂| 91亚洲人| 国产精品久久久777| 强奸乱伦动态污图免费| 久久中出| 91网站在线播放| 校园春色综合| 久久riav中文精品| 火箭成精品视频884必出精品| 日韩国产十八禁| 国产美女高潮叫床视频| 51国产午夜精品视频| 国产成人精品一区| 亚洲图片 91| 午夜电影在线观看无码专区| 神马久久久久| 91成人亚洲色图| 国产综合久久久鬼色| www.超碰在线| 国产精品无码久久久久2028| 久久加勒比| 中文字幕欧美日本乱码一线二线| 天天干天天操天天拍| 91快色色色色色| 精品性爱| 高清无码学生妹高潮| 欧美久久毛片基地| 91一区二区| 欧美日韩在线国产在线| 神马久久久久| 9997se| 狠狠搞 亚洲91| 99久久综合| 国产精品久久天天干| 欧美日韩欧美| 无毛精品| 精品乱子一区二区三区99| 婷婷成人五月天| 2019天天干天天操| 免费人成毛片乱码| 色欧美综合| 天操天操夜操夜月月年年操操| 蜜臀AV一区二区三区激情综合| 亚洲1区| 国产精品无码av嫩草| 久久久96| 亚州综合在线| 九九九九九九精品| 欧美与日韩97| 亚热日本熟女| 蜜臀亚洲中文| 久久天堂婷婷网| 综合久| 日韩探花精品在线视频| a片久久久久久久久久久久| 一卡二卡三卡| 五月天欧美色图| 五十路熟女工口 | 1204av韩国| 精品人妻1237| 色噜噜国产在线| 天天综合,91综合永久| 国产伦精品一区二区三区在线观| 在线人人人人人人精品超| 亚洲自拍天堂| 黄片qw| 天天日天天干天天色| 狠狠干91| 射久久| 91bbb| 99re这里只有| 精品夜夜澡人妻无码AV| 九九九九亚洲| AV色女综合| 国产一区二区在线看| 亚洲干B| 日本免费二区三区| 亚洲色棕合| 大香蕉2017| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 天天久久| 蜜桃狠狠色伊人亚洲综合网站| 大香蕉草草| 性感美女91影视| 欧美激情在线观看视频| 91色欧美| 超碰在线91| 乱欲视频| 2023天天操夜夜操| 少妇熟女1区2区3区| 影音先锋日本乱伦| 99re热有精品视频国产| 国产一区二区在线播放量| 一级特黄aaa大片在线观看成人一级片在线观看 | 国产AV人人 夜夜人人澡| 国模限制级电影| 色第一页| 330dv亚洲成年视频网| 欧美大香蕉97| 日本孕妇孕交| 91成人亚洲色图| 极品少妇久久久久| 加勒比综合88| 欧洲在线性爱视频| 亚洲国产精品有声| 午夜寂寞欧美| 五月婷婷基地| 不卡九肏| 蘋果手機免費看成人Av| 99热18这里只有精品| 好湿好紧视频| 99久久99久久免费精品蜜臀| 国产精品人妻无码久久久老鸭窝 | 国产一区免费午夜视频| 激情小说成人日本无码一| 日韩性爱再线视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 久久久人体| 人妻在线中出视频| 91N综合在线| 天操天操夜操夜月月年年操操| 欧美色97| 无码人妻精品一区二区三区99不卡| 中国一级操逼视频| 秋霞视频一区二区| 四虎AV无码| 日韩少妇在线视频| 深夜激情 | 色999偷自拍拍| 一级黄碟| 91精品国产91久久青草| 中文字幕奈奈美被公侵犯| 日韩亚洲Av人人夜夜澡人人爽| 日韩AV片| 欧美视频激情久久久久久| 久久日本熟女精品一区| 老熟乱一区二区三区四区| 精品国产一区探花在线观看| 国产无码高清操逼视频| 99热欧美| 久热精品色情| 四虎影视欧美| 26uuu性| 激情五月婷婷| 久久6热精品99视频| 啊啊啊好舒服视频| 在线A日本| 97精品国产97久久久久久免费| 精品久久大胆人体| 久久αⅴ| 日本五十路熟女一区二区| 天天影视综合网欧美精品| 天天综合欧美综合| 亚洲女优有码无码高清| 永久免费av无码网站国产app| 口爆吞精在线观看| 亚洲一区二区三区久久 亚洲一区二区| 精品久久大胆人体| 中文字幕一区二区无码成人| 日韩无码操逼片| 婷婷五月色| 青草香蕉网| 婷婷午夜清品久久久久久久性色视频观| 午夜国产乱伦视频| 国产玖玖| 99re这里只有精品2| 免费观看性欧美一级| 夜夜一区二区| 极品出轨视频网站| 日日噜噜夜夜狠狠视频无| 婷婷五月激情综合| 国产精品久久久久久久久久久久久久久久 | 静品嫩模一区二区| 色网在线| 中文字幕天堂在线| 五月婷婷色色| 国产精品久久久午夜夜伦鲁鲁| 亚洲欧洲中文日韩女优乱码| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美图片偷拍| 人妻精品一区一区三区蜜桃91| 亚洲精品成人动漫在线| 亚洲图片欧美91N| 日韩 女同 综合| 丰满岳乱妇一区二区三区| 97国产精品国| 国产熟妇 码视频户外直播 | 97 视频在线| 性猛交| 五月婷丁香| 久久婷婷苹果| 国产亚洲日本精品在线| 欧美图片色综合| 超碰九7| 色五月婷婷麻豆在| 不卡视频一区蜜桃视频 | 久久久久久久性爱| 水野优香在线观看| 97视频播放| 婷婷五月天激情网| 日韩大香蕉AV影片| 激情综合婷婷| 免费男人的天堂| 日本高清有码网址视频| 少妇丝袜在线观看AV| 天天操夜夜操狠很操| 欧美性区| 玖玖爱在线视频免费观看| 国产精品天美传媒| 乱伦强奸区日韩| 超碰97精品在线| 蜜屁av| 激情久久久| 中文有码9| 狠狠久久亚洲欧美专区| 91爱啪| 婷婷日韩一区二区三区中文字幕在线| 色色97爱| 先锋精品av色鲁| 超碰97网站| 亚洲图片欧美91N| 亚欧无码线免费观看视频| 欧洲综合视频| 黄色无码高清黄色无码网站| 九九英色视频| 久久久久亚洲三级电影| AV在线资源| 天天干人人干天天日97| 九九九九免费高| 户外裸露刺激视频第一区| 亚洲91综合| 欧美日韩性爱精品| 97久久超碰日韩精品| 久久综合婷婷| 乱伦熟女论坛| 东北老女人的激情视频| www.91理论| 人人澡人人澡人人| 色婷婷丁香五月| 欧美色图综合| 色欲人妻一区二区在线| 极品尤物自安慰| 97久久久久久久久久| 最新中文字幕在线亚洲| 久久精品操| 人妻天堂综合网| 日本潮催一卡操| 女人的天堂大香蕉网| 国产自产自拍| 欧美色图99| 深爱五月天| 国产成人拍国产亚洲精品| 日韩操呦呦影院在线观看| 性做久久久久久免费观看软件| 玖玖爱视频网站| 天天日日舔舔| www.大香| 骚货操死你| 色婷婷在线视频精品导航| 91亚洲色人| 婷婷丁香人妻| 精品免费一区二区三区在线亚洲人成| 色欲三区| 99久久久| 久久色激情一区二区三区| 久久精品毛片免费不卡| 亚洲九九视频| 青青草吊丝| 亚洲成人福利电影免费| 美女t无毒不卡不卡| 天天综和| av天堂手机版追回| 精品国产Av无码久久久伦古装| 国产中文福利| 欧美色另类| 欧美午夜色妇色鬼| 五月天黄色激情视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 天天射夜夜骑| 久久久久久久78| 99久久精品国产高潮| 免费无码婬片AAAA片直播色戒| 日韩综合97P| 99re这里只有精品中心播放| 久草国产在线视频| 91亚洲色图| 久久综合av| 夜夜嗨一区二区| AA特级绝黄| 91色拍| 久久风骚城市| 97香蕉人人乳| 久久精品一区二区三区不卡| 岛国网址国产 | 极品色综合| 熟女网站最新| 麻豆AV一区二区| 国产18精品亚洲精品| 两女互慰AV高潮喷水在线观看| 欧美草草高清日韩视频| 亚洲 综合 第一页| 九九久久久九九| 99re在线观看| 亚洲一级特黄大片在线播放91| 日本色日夜干| 欧美日韩人妻精品一区二区三区| 国产久久日韩网站导航| 亚洲男人天堂2019| 欧美黄片欧美黄片xxx| 国产一区二区免费福利片| 99999久久精| 超碰综合色| 97精品国产97久久久久久免费| 日本www操操操| 欧美日韩电影成人在线| 啊啊啊啊操死我| 美女t无毒不卡不卡| 亚洲人妖网| 国产夜夜艹| 99这里有精品视频| 欧美中出1| 强奸乱伦Av网| 日韩免费高清大片在线| 伊人超碰97| 日夜尻逼网| 久久久不卡区一区二区三区久久久| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 婷婷尹人大香蕉免费| 久草免费在线一区二区| 亚洲天堂一区二区久久| 亚洲天堂五月天国产| 久久综合97| 亚洲区 欧美区| 伊人96在线| 蜜乳av一区二区三区四区不卡| 裸模AV女优| 亚洲 图片 欧美 色图| 欧美黄页在线| 中文字幕黑人大片| 狠狠色综合网| 婷婷五月av| 黑人精品成人一区二区三区| 福利在线黄片| 中国乱伦一区二区| 国产一区二区a毛片| 国产精品又黄又猛又粗| 日本精品999| 久久久久国产精品久久久| 97视频播放| 男人的天堂1024| 九九九九九九综合| 美女性91| 伊色久人大在线| 91 丝袜在线播放| 亚洲久9| 91亚洲在线| 亚洲人妻久久| 精品人妻久久久久一区二区三区| 999九九九九国产动| 禁十八久久| 日本999精品| 蜜桃久久久久久久久久久久| 国产一区二区三区,在线观看观看| juliaann丝袜大战黑鬼| 91精品婷婷国产综合久久竹菊| 欧洲精品一区二区三区| 久久日本熟女精品一区| 欧美少妇高潮久久91| 亚洲清纯唯美| 哑洲在线| 神马麻豆福利院| 97超碰中文在线| 12一15性XXXX粉嫩国产| 秋霞一集毛片观看| 欧美精品成人在线播放| 色噜噜精品一区二区三| 欧美婷婷五月天| 国产精品色| 毛片17S| 97免费免费视频网| AV色五月天| 精品人妻一区二区蜜桃视频 | 国产精品suv一区| 美女黑人91神马| 中文字幕一二三av| 亚洲欲色| 成人26uuu| 欧美亚洲国产91在线| 亚洲系列第一页| 综合操逼| 婷婷性爱| 久久一二区四| 欧美色色人| 天堂涩涩| 亚洲中文字幕熟女少妇一区二区| 亚洲毛片久久| 亚洲一卡二卡在线免费| 欧美性爱免费短视频| 蜜臀操逼黄色视频操的好爽| 99热超碰在线| 五月婷婷hd| 色超碰综合| 综合亚洲欧美| 91爱啪| 激情五月天插| 亚洲欧美日韩精品久| 久久人妻视频网| 天天看片麻豆| 亚洲色欧| 大香蕉乱级| 日韩丰满熟妇| 骚货人妻偷情自拍在线视频| 国产精品网站免费| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 免费强奸av| 猛交交| 秋霞一区二区三区四区五区六区七区| 免费99精品国产自在在线| 日日夜夜精品视频| 免费的很黄很污的全部视频| 丁香五月综合| 日韩午夜国产| 神马麻豆福利院 | 玖玖综合.com| 欧美日本天堂| 日韩人妻丝袜中文字幕| 370p日韩欧美亚洲精品| 五月天开心网| 九九九影院| 玖草在线视频| 少妇无码av专区线| 天综合网| 久久风骚城市| 国产粉嫩蜜臀av一区二区三区| 亚洲一区二区三区欧美日韩| 日本亚洲vr欧美不卡高清专区| 亚洲熟女少妇免费视频| 欧美性xxxxx狂欢| 日韩人妻无码专区| 欧美 传媒 麻豆 日韩 偷拍| 性欧美999| 国产精品毛片?v一区二区三区| 欧美久久九九| 日韩国产九九精品一区二区三区毛片 | www.色婷婷色综合| 中亚精品极乱| 五月天亚洲网| 日本欧美韩国国产在线| 长长久久曰曰夜夜成人网| 青青草好吊| av在线播放国产一区| 天天影视色香色欲| 极品一区二区三区免费| 看大黄色大片原件| 欧美亚涩| 久久久青青草| 秋霞无码av鲁丝片一区| 75大香蕉| www国产无码| 欧美精品999| 超碰在线第一页| 日日干天天干夜夜爽| 超碰79人人乐| 亚洲精品97p| 偷拍自拍在线视频观看| 麻豆九九九| 欧美第一页| 97色色网| 密臀在线视频| 九九综合久久| 亚洲色丰满少妇高潮| 一个色导综合| 精品人人| 蜜臀视频网站| 中文字幕在线日亚州9| 夜夜做夜夜爽精品视频| 免费一级黄色录像影片| 国产熟女一区二区丰满| 欧美综合天堂| 久久精品99| 亚洲 欧美 日本 国内 首页| 亚洲第一狼人丝袜美女另类| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 亚州色阁| 嗯啊视频免费在线观看| 久久久久久久久久久人妻| 国产精品扒开腿做爽爽爽视频| 人人插人人搞人人操| 国产精品欧美激在线| 91人精品妻入口| 大香蕉天天看妹子| 天天综合91| 欧美综合97www| 国产精品国产精品国产| 亚洲中文字幕噜噜噜久久久| 黄色成年| 狠狠干,狠狠操| 91bbbbbb| 很很干很很操| 中文字幕一二三| 天堂精品在线| 久操精品| 97色冈| 最近2018中文字幕在线高清第一页| av在线人气| 一级性爱网| 蜜伊人色综合97| 人人弄人人摸| 麻豆伊人网| 综合激情二| 一区二区不卡| 国产专区第一页| 是还免费视频1727我| 最新中文字幕在线亚洲| 在线观看 99热| 一区二区三区精品视频| 清纯唯美第一页| 天天干天天插| 久久午夜色播影院免费高清| 婷婷色一区| 免费观看网黄| 精产国品一区二三产品| 日本狂喷奶水在线播放212| 95精品在线| 99re只有精品| 一区操逼| 欧亚揄拍偷拍精品视频| 欧美中文字幕日韩在线| 国产一区二区久久| 日韩丝袜二区| 97在线观看视频| 91熟女熟妇视频网站| 丰满人妻一区二区三区色-百度| 久久综合久久综合人久久夜精品| 在线无码视频| 国产和美国毛片| 婷婷五月天激情小说|