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

ARTICLE DETAIL

資訊詳情

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

手游歡樂麻將源碼深度拆解:從環(huán)境搭建到二次開發(fā)避坑指南

手游歡樂麻將源碼深度拆解:從環(huán)境搭建到二次開發(fā)避坑指南 簡介一款基于Cocos2D-X引擎的手游麻將完整源碼面向?qū)β閷⑼娣▽崿F(xiàn)與跨平臺2D游戲開發(fā)感興趣的開發(fā)者可用于學(xué)習(xí)商業(yè)休閑游戲的項目組織方式。資源共584個文件壓縮包約16.22MB包含212個ogg音頻文件、126個png圖片素材、64個cpp與72個h源碼文件以及Android相關(guān)java文件、xml/plist配置和數(shù)據(jù)庫文件覆蓋了代碼、資源、配置與數(shù)據(jù)存儲各層面代碼結(jié)構(gòu)上涵蓋桌面邏輯、機(jī)器人模擬、公共函數(shù)等模塊。已有2530人學(xué)習(xí)下載。源碼中可重點研究Cocos2D-X的場景、精靈、動作系統(tǒng)麻將洗牌、出牌、胡牌判定的核心算法以及UI交互、網(wǎng)絡(luò)通信、數(shù)據(jù)存儲和多平臺適配的實現(xiàn)方式。整體按模塊劃分文件類型多樣適合作為游戲開發(fā)進(jìn)階的實戰(zhàn)參考與代碼研讀資料。1. 先說清楚標(biāo)題里的“手游歡樂麻將源碼”到底指什么很多開發(fā)者拿到一個寫著“手游歡樂麻將源碼”的壓縮包第一反應(yīng)是解壓后雙擊、編譯、跑起來就能進(jìn)游戲。實際上一套能稱得上“源碼”的棋牌手游項目從來不是一個單機(jī)工程而是由客戶端、服務(wù)端、數(shù)據(jù)庫、運營后臺組成的完整系統(tǒng)。你看到的標(biāo)題通常指這類仿某熱門歡樂麻將玩法的開源或半開源棋牌項目源碼用于學(xué)習(xí)技術(shù)、做二次開發(fā)、搭一套自用測試環(huán)境。它能解決的核心問題有三個一是讓你看到棋牌手游從登錄到進(jìn)房、從發(fā)牌到結(jié)算的完整鏈路二是給你一套可以改玩法、改界面、改成自己產(chǎn)品的代碼基礎(chǔ)三是幫助你理解服務(wù)端如何在低延遲場景下維持多房間并發(fā)。它適合移動端開發(fā)者和游戲后端工程師也適合想從零搭一套棋牌游戲原型來驗證想法的人。但它不是解壓即玩、點開即上線的成品。源碼里往往缺資源、缺密鑰、缺平臺配置甚至缺關(guān)鍵模塊的授權(quán)。把這個標(biāo)題理解成“一套可以研究、可以改造、需要自己搭環(huán)境的工程”比理解成“現(xiàn)成的游戲”要準(zhǔn)確得多。接下來我按實際動手的順序把這個標(biāo)題背后的東西拆開講。2. 拿到源碼先別急著跑先拆目錄把工程結(jié)構(gòu)搞明白2.1 一套典型棋牌手游源碼的目錄長什么樣我見過的這一類源碼不管打包成什么名字內(nèi)部結(jié)構(gòu)大體一致。先把根目錄列出來你會看到幾個固定角色目錄職責(zé)常見技術(shù)棧client客戶端工程負(fù)責(zé) UI、動畫、音效、網(wǎng)絡(luò)通信UnityC#或 Cocos CreatorTypeScript/JavaScriptserver服務(wù)端工程負(fù)責(zé)登錄、房間、玩法、結(jié)算、機(jī)器人JavaNetty、Go、Node.js、Cdatabase數(shù)據(jù)庫腳本建表、初始化數(shù)據(jù)MySQL、Redisadmin運營管理后臺查玩家、配房卡、看流水Vue/ElementUI Spring Boottools打包腳本、熱更工具、資源壓縮工具Python、Shell先別急著進(jìn)任何一個目錄。第一步是看根目錄有沒有 README 和“版本說明.txt”這類文件。很多源碼作者會把運行環(huán)境的依賴版本、啟動順序、默認(rèn)端口寫在里面。如果 README 缺失就按目錄名和配置文件反推但這就進(jìn)入玄學(xué)階段了后面會踩不少坑。我一般會先用一條命令把整個工程的目錄樹輸出到文件里然后根據(jù)目錄命名判斷模塊邊界。這樣做的意義不是好看而是確認(rèn)一件事客戶端和服務(wù)端的通信協(xié)議是自研的還是用了現(xiàn)成框架。協(xié)議決定你后面看代碼時的主線路。2.2 先看服務(wù)端還是先看客戶端我的判斷順序很多新手拿到源碼第一反應(yīng)是先把 Unity 或 Cocos 工程打開。這個習(xí)慣在棋牌源碼上會浪費大量時間。原因是客戶端工程通常帶著完整的第三方 SDK、渠道包配置、資源目錄光是導(dǎo)入工程、解決依賴就要半小時。而且客戶端編譯出來的東西沒有服務(wù)端配合也跑不出完整玩法。我的順序是先看服務(wù)端能不能啟動再看數(shù)據(jù)庫腳本能不能執(zhí)行最后才碰客戶端。服務(wù)端是棋牌項目的根登錄、房間、發(fā)牌、結(jié)賬全在服務(wù)端客戶端只是把服務(wù)端算好的結(jié)果展示出來。服務(wù)端一旦跑通你就有了一個“黑匣子”可以用它驗客戶端的連接是否正確。還有一個更實際的原因絕大多數(shù)棋牌源碼的服務(wù)端依賴項比客戶端少得多。一個 JDK、一個 MySQL、一個 Redis 就能起服務(wù)。而客戶端要裝編輯器、打包工具、安卓 SDK開發(fā)機(jī)和測試機(jī)來回折騰。先用最小代價驗證系統(tǒng)是活的再一步步加?xùn)|西這套思路在源碼研究里永遠(yuǎn)適用。2.3 搭建依賴環(huán)境先湊齊一套保守的組合不要一上來就裝最新版的 JDK、MySQL因為棋牌源碼的服役時間往往比較早新版本反而會引入兼容性報錯。我常用的保守組合是JDK 8、MySQL 5.7、Redis 6.x、Nginx 1.20 左右。這個組合能覆蓋大多數(shù) Java 系棋牌服務(wù)端如果是 Go 或 Node.js 寫的就按對應(yīng)語言版本調(diào)整Go 1.18 以上、Node.js 14 以上基本夠用。檢查環(huán)境的命令如下先確認(rèn)機(jī)器上已經(jīng)有這些工具java -version mysql --version redis-server --version node -v 2/dev/null; go version 2/dev/null這段命令看的是基礎(chǔ)環(huán)境。java -version確認(rèn) JDK 版本mysql --version和redis-server --version確認(rèn)數(shù)據(jù)庫與緩存后面兩行是兼容性檢查輸出為空說明本機(jī)沒裝對應(yīng)運行時。參數(shù)2/dev/null的作用是屏蔽掉“命令不存在”的報錯讓輸出更干凈。如果缺其中某項先裝齊再繼續(xù)。MySQL 安裝后要確認(rèn)能本地登錄Redis 不用做密碼認(rèn)證的話默認(rèn)監(jiān)聽 6379 即可。這一步看著簡單但很多翻車現(xiàn)場都出在這JDK 版本太高導(dǎo)致 Netty 啟動異常MySQL 8 的認(rèn)證插件和源碼里的舊驅(qū)動不匹配Redis 沒裝導(dǎo)致登錄時 token 寫不進(jìn)去。2.4 配置文件里先找出這幾樣?xùn)|西服務(wù)端能啟動之前必須把硬編碼在配置文件里的地址、密碼、密鑰找出來。棋牌源碼的配置文件通常叫 application.properties、config.yml、db.properties散落在 server 工程的不同模塊下。用下面這組命令先把可疑字段揪出來grep -rn jdbc:mysql --include*.properties --include*.yml --include*.xml server/ grep -rn redis --include*.properties --include*.yml --include*.xml server/ grep -rn privateKey\|secret\|password --include*.properties --include*.yml server/第一條命令找數(shù)據(jù)庫連接串第二條找 Redis 配置第三條找密鑰和明文密碼。這三個字段是跑通服務(wù)端的命門。連接串里的 IP、端口、庫名、賬號密碼必須改成你自己環(huán)境的實際值。很多源碼自帶配置寫的是127.0.0.1和空密碼但庫里壓根沒有初始化數(shù)據(jù)這就要和 database 目錄里的腳本配合處理。改配置時注意一個細(xì)節(jié)不要把端口改亂。服務(wù)端所有對外端口、對內(nèi)端口都可能在別的模塊里被引用。改一個端口之前先全局搜一下有沒有其他地方引用同一個端口號。在這個階段盡量保持默認(rèn)端口只改數(shù)據(jù)庫和 Redis 的訪問信息能少一半的排錯工作量。3. 服務(wù)端讓房間游戲邏輯跑起來的關(guān)鍵3.1 服務(wù)端模塊劃分網(wǎng)關(guān)、房間服、玩牌服不是一回事一個能撐住多人對戰(zhàn)的棋牌服務(wù)端絕不是一個單進(jìn)程程序。我拆過的源碼里常見的是三層結(jié)構(gòu)網(wǎng)關(guān)層、邏輯層、數(shù)據(jù)層。網(wǎng)關(guān)層負(fù)責(zé)維持客戶端長連接、做消息轉(zhuǎn)發(fā)、鑒權(quán)邏輯層里面又拆成房間管理和玩法計算數(shù)據(jù)層跑 MySQL 和 Redis存賬號、房卡、對局記錄。用表格看更清楚模塊作用典型端口出問題時現(xiàn)象gateway / proxy接收客戶端連接轉(zhuǎn)發(fā)消息9000-10000客戶端連不上服務(wù)器hall / lobby大廳服務(wù)登錄、房間列表、好友信息9001登錄卡住、進(jìn)不了大廳room / game房間內(nèi)玩法發(fā)牌、出牌、結(jié)算9002建房失敗、打牌不同步db / mysql持久化數(shù)據(jù)3306結(jié)算數(shù)據(jù)丟、玩家登錄失敗切分模塊的目的很直接網(wǎng)關(guān)層出問題只影響連接不影響已經(jīng)開始的牌局玩牌服出問題只影響本房間不至于把大廳拖垮。源碼里如果只有一個 Java 進(jìn)程包含所有邏輯那是給學(xué)習(xí)和測試用的簡化版上線級項目基本都拆開了。從排查角度講這個結(jié)構(gòu)告訴你一個原則客戶端報錯時先分清是哪一層的問題。連不上服務(wù)器先查網(wǎng)關(guān)登錄失敗先查大廳和數(shù)據(jù)庫進(jìn)房失敗先查房間服。不然你會陷在客戶端代碼里瞎翻半天。3.2 從數(shù)據(jù)庫初始化到一鍵啟動最小可運行命令跑通服務(wù)端的起點是數(shù)據(jù)庫。源碼里的 database 目錄下的 SQL 腳本通常要按特定順序執(zhí)行先建庫再建表再插入配置數(shù)據(jù)。很多源碼坑就在這里腳本里有外鍵依賴順序反了直接報錯。我習(xí)慣先看腳本文件名里的編號比如001_create_db.sql、002_create_table.sql、003_init_data.sql。執(zhí)行方式用 mysql 命令行最簡單mysql -uroot -p -e CREATE DATABASE IF NOT EXISTS mahjong DEFAULT CHARSET utf8mb4; mysql -uroot -p mahjong database/001_create_db.sql mysql -uroot -p mahjong database/002_create_table.sql mysql -uroot -p mahjong database/003_init_data.sql第一條命令是建庫utf8mb4是為了能存玩家昵稱里的特殊字符。后面三條是依次導(dǎo)入結(jié)構(gòu)、導(dǎo)入核心表、導(dǎo)入初始配置。符號表示把文件內(nèi)容作為 SQL 輸入比在客戶端里手動復(fù)制要穩(wěn)得多。執(zhí)行完沒有任何報錯才算數(shù)據(jù)庫這關(guān)過了。接著啟動服務(wù)端。Java 系的服務(wù)端通常是一個 jar 包和啟動腳本常見做法是后臺運行加日志輸出cd server/bin nohup java -jar mahjong-server.jar --spring.config.location../config/application.properties ../logs/server.log 21 nohup讓進(jìn)程在斷開 SSH 后繼續(xù)運行 ../logs/server.log把輸出寫進(jìn)日志文件21把錯誤輸出也合并到同一個文件里。啟動后別急著連客戶端先看日志里有沒有started或listen on 0.0.0.0:9000這類關(guān)鍵行。如果有報錯直接去日志文件里搜Exception比問任何人都有用。啟動完服務(wù)端再用 redis-cli 檢查 Redis 里有沒有寫入令牌或緩存。如果 Redis 一直是空的大概率是服務(wù)端連 Redis 失敗或者配置項沒生效。3.3 房卡模式與金幣場的實現(xiàn)差異棋牌源碼里最核心的兩套玩法模式是房卡模式和金幣場模式。房卡模式又叫親友圈玩家創(chuàng)建房間消耗房卡然后拉好友進(jìn)來玩打完一局結(jié)算房間解散。金幣場則是玩家進(jìn)入一個大的匹配池系統(tǒng)自動撮合四人開局贏了獲得虛擬金幣。這兩套模式在源碼里是兩套完全不同的數(shù)據(jù)流。房卡模式的核心是“房間”和“房卡余額”數(shù)據(jù)結(jié)構(gòu)偏重訂單誰開的房、扣了誰多少卡、房間號是多少。金幣場核心是“匹配池”和“競技值”數(shù)據(jù)結(jié)構(gòu)偏重隊列誰在等、匹配區(qū)間是什么、勝率影響因子是什么。典型表結(jié)構(gòu)對比如下字段房卡模式金幣場核心表room, room_member, card_ordermatch_pool, battle_record, player_score創(chuàng)建方式玩家主動建房消耗房卡系統(tǒng)匹配自動建立對局結(jié)算對象房主與成員之間的房卡消耗系統(tǒng)給每個玩家增減金幣并發(fā)特點房間多但單房間人數(shù)固定匹配請求集中瞬間壓力大改源碼時這兩個模式別混著改。我見過有人把金幣場的結(jié)算邏輯搬到房卡模式里結(jié)果每局結(jié)束所有玩家的金幣都被扣了一遍。房卡模式里沒有“金幣池”這個概念結(jié)算要看訂單表金幣場里沒有“房卡”這個概念結(jié)算要看流水表。先分清楚再動手改。3.4 機(jī)器人對手是怎么實現(xiàn)的這不是你想象的機(jī)器學(xué)習(xí)棋牌源碼里經(jīng)常帶一個“機(jī)器人”或“AI玩家”模塊。它的作用不是像圖像識別那樣用模型推理而是用一套規(guī)則引擎模擬真實玩家行為。常見實現(xiàn)是機(jī)器人進(jìn)入房間根據(jù)手牌做“聽牌判斷”“拆搭子”“跟打熟張”再由一個難度參數(shù)決定出錯的概率。下面這段偽代碼能說明核心邏輯def choose_discard(hand_tiles, last_discard, difficulty0.5): # 1. 先看有沒有安全牌別人剛剛打過的牌 safe_tiles [t for t in hand_tiles if t last_discard] if safe_tiles and random.random() difficulty: return safe_tiles[0] # 2. 再按胡牌概率給手牌排序 hand_tiles.sort(keylambda t: win_rate(hand_tiles - {t})) # 3. 按難度決定是否打最差的牌 if random.random() difficulty: return hand_tiles[-1] return hand_tiles[random.randint(0, len(hand_tiles) - 1)]這段邏輯的關(guān)鍵是難度參數(shù)difficulty機(jī)器人不是每手都打最優(yōu)牌而是按概率出錯。初級機(jī)器人difficulty設(shè) 0.3高級機(jī)器人設(shè) 0.9玩家的體感差別就出來了。注意這里用的是random.random()做隨機(jī)決策真正上線時要用安全隨機(jī)數(shù)否則玩家能通過已知隨機(jī)種子反向算出牌序。理解機(jī)器人實現(xiàn)的好處是當(dāng)你二次開發(fā)時不用去改客戶端邏輯只需要調(diào)服務(wù)端里機(jī)器人的難度參數(shù)、出牌策略權(quán)重就能改變游戲難度。這個模塊也是防外掛檢測的天然樣本庫服務(wù)端知道機(jī)器人會怎么出牌如果玩家出牌風(fēng)格和機(jī)器人高度重合就有疑似腳本嫌疑。4. 客戶端從資源加載到登錄進(jìn)房抓住三條鏈路4.1 客戶端網(wǎng)絡(luò)層先認(rèn)準(zhǔn)連接、心跳、消息號客戶端是一套獨立的工程但它所有玩法都依賴和服務(wù)端的通信??纯蛻舳舜a時不要一頭扎進(jìn) UI 界面先找網(wǎng)絡(luò)層。網(wǎng)絡(luò)層一般封裝在NetworkManager或SocketClient類型的類里核心就三件事建立連接、發(fā)送心跳、派發(fā)消息號。典型的心跳邏輯長這樣void SendHeartbeat() { // 心跳消息每20秒發(fā)送一個空包保持連接不超時 Message msg new Message(); msg.msgId 10001; // 10001 是心跳消息號與服務(wù)端約定 msg.body {}; socket.Send(msg); }這段代碼的msgId是客戶端和服務(wù)端之間的“暗號”。10001 在服務(wù)端對應(yīng)一個onHeartBeat處理器客戶端發(fā)的每一條消息都要帶這個編號。新手最容易翻車的地方是改客戶端代碼時把消息號寫錯了服務(wù)端收到后直接當(dāng)成未知消息丟棄表面現(xiàn)象就是“點了按鈕沒反應(yīng)”。網(wǎng)絡(luò)層里還有一個重點數(shù)據(jù)包粘包和拆包。棋牌項目屬于高頻小包通信一局出牌幾十次TCP 粘包幾乎必然發(fā)生。源碼里一般會定義包頭結(jié)構(gòu)前 4 字節(jié)是長度、后面才是正文??淳W(wǎng)絡(luò)層時先確認(rèn)有沒有按長度拆包如果沒有加消息時很容易導(dǎo)致協(xié)議解析錯位整個房間數(shù)據(jù)錯亂。4.2 登錄流程賬號、token、服務(wù)器列表客戶端的登錄鏈路值得完整跟一遍因為它是連接大廳和房間入口。通常流程是客戶端先向 HTTP 接口提交賬號密碼拿到 token 和服務(wù)器列表再用 token 去連接網(wǎng)關(guān)服務(wù)器。我一般先看登錄相關(guān)的類public async void Login(string account, string password) { // 第一步向 auth 服務(wù)請求登錄令牌 var token await http.Post(/auth/login, new { account, password }); // 第二步拿令牌請求服務(wù)器列表 var serverList await http.Get(/server/list, token); // 第三步選擇第一個可用的游戲服務(wù)器建立長連接 socket.Connect(serverList[0].ip, serverList[0].port); socket.Send(new Message(10002, token)); // 10002 登錄消息號 }這里的三個步驟是層層遞進(jìn)的第一步拿token第二步拿serverList第三步才是真正的游戲長連接。源碼里如果寫死了服務(wù)器 IP那說明是針對單一服務(wù)器設(shè)計的如果serverList來自 HTTP 響應(yīng)說明支持多區(qū)服負(fù)載。排查登錄問題時要盯住這個鏈路賬號密碼對不對看第一步服務(wù)器列表為空看第二步連接后立刻斷開看第三步。很多源碼登錄失敗不是密碼錯而是服務(wù)端沒給 tokenHTTP 接口返回的已經(jīng)不是 200客戶端還在傻等。4.3 資源熱更與分包源碼里一般怎么處理棋牌源碼和單機(jī)游戲源碼的最大區(qū)別就是熱更。同一個 client 目錄下往往有assets和update兩個資源目錄。assets是打包進(jìn)安裝包的update是放在服務(wù)器上用版本號控制下載的。源碼自帶的資源通常是占位圖和低精度模型真正的美術(shù)資源本來就不全這也是源碼打出來包很大的常見原因。看熱更邏輯時關(guān)注版本號對比// 客戶端啟動時請求遠(yuǎn)程版本 const remoteVersion await http.get(/version/check, { localVersion: Game.version }); if (remoteVersion Game.version) { const urls await http.get(/version/diff, { from: Game.version, to: remoteVersion }); await downloadAndReplace(urls); // 下載差異資源并覆蓋本地緩存 Game.version remoteVersion; }這里的核心是“差異資源”。客戶端只更新變化部分而不是下載整個安裝包這是棋牌項目更新效率的命門。你在源碼里看到的version參數(shù)一定要維護(hù)好改了一點 UI 資源就把版本號加一否則玩家端永遠(yuǎn)顯示舊界面。熱更目錄還有個坑就是本地緩存覆蓋邏輯。如果改完資源后沒有清掉本地緩存客戶端會一直讀取舊文件表現(xiàn)就是“代碼明明改了跑起來還是老樣子”。清 Cache 是熱更調(diào)試?yán)锏氖滓獎幼鳌?.4 打包上真機(jī)Android 與 iOS 的差別客戶端最終要裝到手機(jī)上才有意義。Android 打包相對直接用 Android Studio 或 Unity 的導(dǎo)出功能生成 APK簽名用 debug keystore 也能跑。難點在渠道包源碼里常見的channelID、PlatformAdapter類就是為了讓同一個 APK 能在不同應(yīng)用商店上報不同數(shù)據(jù)。iOS 打包麻煩一點。棋牌源碼里如果寫了蘋果的登錄授權(quán)和防沉迷邏輯你需要有自己的開發(fā)者證書還要配置推送證書。沒有證書時源碼里的支付、推送、登錄授權(quán)模塊都會編譯報錯。我的建議是研究階段只打 Android 包把 iOS 相關(guān)代碼用宏屏蔽掉省下的時間夠你把對局邏輯多讀兩遍。另外真機(jī)調(diào)試時最讓人頭疼的是崩潰日志。源碼自帶的 bugly 或友盟統(tǒng)計如果開了崩潰會直接看云端后臺如果沒開就只能靠 Android 的 logcat 抓日志。抓日志的時候先過濾GameCore和SocketClient等網(wǎng)絡(luò)相關(guān)標(biāo)簽很多時候崩潰是空指針不是網(wǎng)絡(luò)問題。5. 避坑這套源碼里最常見的六個翻車現(xiàn)場5.1 源碼壓縮包自帶后門和木馬現(xiàn)象服務(wù)端剛啟動服務(wù)器 CPU 突然飆高或者外網(wǎng) IP 被不斷掃描攻擊。原因很多流傳的棋牌源碼在打包時會被植入后門腳本常見位置是啟動腳本里多一行curl下載命令或者在某個 Java 類里藏了反彈 shell 的邏輯。這類源碼來自灰色渠道作者可能故意留后門也可能在傳播過程中被別人二次污染。解決拿到源碼第一件事不要直接啟動先全盤搜索危險接口。我習(xí)慣搜這幾類關(guān)鍵詞Runtime.getRuntime().exec、ProcessBuilder、curl、wget、/bin/sh。搜到后看上下文如果在啟動腳本里直接刪掉如果在業(yè)務(wù)代碼里要看是不是被動態(tài)調(diào)用。排查完后再配防火墻只放行數(shù)據(jù)庫和游戲端口管理后臺別暴露到公網(wǎng)。5.2 數(shù)據(jù)庫腳本執(zhí)行順序不對全是表不存在現(xiàn)象啟動服務(wù)端后日志一直報Table mahjong.player doesnt exist或者登錄接口報數(shù)據(jù)庫異常。原因源碼里的 SQL 腳本不是按文件名順序排列的有的是先插配置數(shù)據(jù)后建表有的是兩個腳本有依賴關(guān)系。用工具一鍵導(dǎo)入時導(dǎo)入工具按文件名排序執(zhí)行結(jié)果配置表還沒建好就開始插數(shù)據(jù)。解決不要信任腳本文件名順序先打開每個腳本文件看第一行是CREATE TABLE還是INSERT INTO。按“建庫、建表、索引、配置數(shù)據(jù)、初始化數(shù)據(jù)”的順序手工排列執(zhí)行。如果報錯把 MySQL 的錯誤碼記下來看是外鍵問題還是字段重復(fù)問題再微調(diào)。5.3 Redis 緩存沒清登錄永遠(yuǎn)提示用戶不存在現(xiàn)象服務(wù)端能啟動、賬號能注冊但用剛注冊的賬號登錄就報“用戶不存在”。原因登錄鑒權(quán)時會先查 Redis 緩存再查 MySQL。數(shù)據(jù)庫已經(jīng)寫了新用戶但 Redis 里的用戶緩存還是舊的或者注冊服務(wù)沒把新用戶同步寫入 Redis導(dǎo)致查詢走了錯誤的數(shù)據(jù)源。解決先執(zhí)行redis-cli flushall清掉所有緩存再重新登錄。如果還有問題就去看注冊接口的代碼確認(rèn)注冊成功后有沒有調(diào)用 Redis 寫入的語句。這是典型的“數(shù)據(jù)庫有數(shù)據(jù)、客戶端看不見”的坑先查緩存再查庫順序不能反過來。5.4 客戶端連不上服務(wù)端IP、端口、協(xié)議三處對不上現(xiàn)象客戶端點擊登錄轉(zhuǎn)圈幾秒后提示“網(wǎng)絡(luò)異?!钡?wù)端日志沒有任何連接記錄。原因客戶端連接的不是服務(wù)端監(jiān)聽端口??赡茉蛴腥齻€客戶端配置寫的是 127.0.0.1但手機(jī)和服務(wù)端不在同一網(wǎng)絡(luò)端口號被占用服務(wù)端實際監(jiān)聽的是其他端口協(xié)議類型不匹配服務(wù)端是 TCP客戶端按 WebSocket 發(fā)的。解決先用netstat -tunlp | grep java看服務(wù)端實際監(jiān)聽的端口。然后在電腦上先用telnet 服務(wù)器IP 端口測試通不通通了再連手機(jī)。最后確認(rèn)客戶端配置里的協(xié)議類型TCP 還是 WebSocket 還是 HTTP 輪詢這幾樣完全不兼容。調(diào)試時建議讓客戶端日志輸出服務(wù)端返回的原始報文能看到字節(jié)數(shù)是 0 還是要到的數(shù)據(jù)不對。5.5 牌局結(jié)果對不上賬時間戳與隨機(jī)種子的坑現(xiàn)象兩個客戶端看到的同一局手牌不一樣或者結(jié)算時金幣數(shù)和服務(wù)端記錄不一致。原因棋牌項目是服務(wù)端權(quán)威計算客戶端只展示結(jié)果。如果客戶端也參與了發(fā)牌計算或者服務(wù)端用了可預(yù)測的隨機(jī)種子就會出現(xiàn)不同步。另一個常見原因是服務(wù)器時間不準(zhǔn)玩家在某個時間點前的對局被記成另一天導(dǎo)致結(jié)算報表錯亂。解決源碼里凡是用Math.random()的地方都要改成安全隨機(jī)數(shù)生成器。對局記錄以服務(wù)端時間為準(zhǔn)部署時統(tǒng)一用 NTP 同步服務(wù)器時間??蛻舳伺袛嗍欠窈头?wù)端同步時不要用兩個客戶端的時間差值要用服務(wù)端下發(fā)的對局時間戳。5.6 “試玩模式”和“正式模式”不是一個開關(guān)現(xiàn)象按源碼文檔配置好“正式模式”但房間人數(shù)上限、初始金幣還是和試玩時一樣。原因源碼通常用一個GameMode常量控制試玩和正式邏輯但很多人在配置文件里改的是另一個debug開關(guān)真正的模式枚舉寫在編譯常量里改配置不生效。解決全局搜索GameMode或isTest找到賦值的地方區(qū)分編譯常量和運行配置。試玩模式會跳過支付鑒權(quán)、縮短對局時間、把機(jī)器人難度調(diào)低真正上線時必須確認(rèn)這幾個邏輯都切到正式分支。這個坑最隱蔽因為它不報錯只是行為不對。6. 從源碼到你能自己做的東西驗證與二次開發(fā)把服務(wù)端和客戶端都跑通之后只說明工程能啟動不代表它能成為你的產(chǎn)品。這段時間我最常做的一件事是定義“最小閉環(huán)”注冊賬號、登錄大廳、創(chuàng)建房間、拉滿四個機(jī)器人、打一圈牌、完成結(jié)算。這個閉環(huán)跑通源碼才真正算你的。跑閉環(huán)時不要上來就模擬并發(fā)。用兩個客戶端一個玩家一個觀察者手動操作一遍觀察服務(wù)端日志里每個關(guān)鍵節(jié)點的輸出建房指令、加入指令、發(fā)牌指令、出牌廣播、結(jié)算廣播。任何一個節(jié)點斷了都是你排查的好機(jī)會比自己瞎改 UI 有價值得多。二次開發(fā)從哪下手我推薦先改最容易看到效果的玩法參數(shù)多局積分規(guī)則、封頂番數(shù)、機(jī)器人難度曲線。這些改完能直接在客戶端里驗證成就感最強(qiáng)也最能鍛煉你對服務(wù)端架構(gòu)的理解。等你把這些參數(shù)吃透了再動大廳 UI 和界面布局那屬于順?biāo)浦鄣氖?。有一個底線必須守住源碼可以學(xué)可以接入自研產(chǎn)品做功能參考但直接換皮上架、套名字改 Logo、拿別人的美術(shù)和文案去賺錢都是沒必要的風(fēng)險。這個方向值得投入的是你把它拆明白之后在自己的標(biāo)準(zhǔn)化產(chǎn)品里重新實現(xiàn)的邏輯。我見過太多人卡在同一個地方數(shù)據(jù)庫跑不起來就放棄客戶端連不上就懷疑源碼是假的。其實多數(shù)問題都在配置和版本上沒有你想得那么玄。先把最小閉環(huán)跑完再談改造。希望上面這些踩過的坑能幫你在同樣的路上走得快一點。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚川综合视频| 精品人妻一区二区免费蜜桃| 夜夜国产一区| 91人精品妻入口| 国产小u女在线观看| 先锋激情∨在线视频播放| 青青草导航在线视频| 欧美探花网| 天天日B狠狠操| 加勒比久久av| 久久久久亚洲Aⅴ无码| 欧美日韩黄色片一区二区三区四区人与兽做爱| 亚洲色图欧美一区二区不卡| 天美国产三级传媒| 翔田千里无码一区| 欧美色66| 大屁股人妻女教师撅着屁股| 亚州久久9| 97资源视频| 日日夜夜草草草| 麻豆国产97在线| 国产亚洲在线观看| 欧美高清第一页| 免费A V在线| 91欧| 操少妇很爽av| 九九精品99| 中文字幕久久亚州无码| 亚洲成人久久美女| 日本精品不卡一二三区| 欧美劲爆第一页| 色五月大香蕉| 色综合一区二区三区| 欧美 亚洲 制服 精品| 神马九九| 超碰9 7女人 | 熟女自慰久久久| 肏逼福利网站| 欧美高潮| 台湾佬激情综合| yw尤物av无码点击进入麻豆| 69人妻精品丰满熟女区| 久久久五月天| 亚洲中文字幕在线视频一区二区 | 精品国产人成在线| 久久久啊啊啊| 国产日本熟女顶级一区二区三区视频| 色在线视频导航| 99热精品青草在线 | 97超碰色色| 一二三啪啪专区| 欧美一区二区三区四区综合| 久久久熟女一区| 久99热| 啊啊啊好大好深| av优播| 做爱福利视频一区二区| 无码日韩网站| 性爱视频无打码在线观看| 天天躁夜夜躁狠狠躁AV| 国产高清1234区| 性在久久久久久| 欧洲精品一级二级精品综合视频综合 | 国产欧美另类久久久精品课程| 日韩欧美女优电影| 成年人一级黄色毛片大全在线观看| 国产乱伦亚洲| 桑老女人九区| 亚洲另类色图片| 天天色综亚洲91污| 岛国在线国产| 色综合91好| AV男人天堂网| 加勒比av中文| www.四虎在线| 国产亚洲综合欧美一区| 无码精品久久久天天影视| 老熟女91视频| 中文一区二区| 中文幕97| 裸体美女久久久| 久久超碰亚洲人| 99日韩| 日韩av不卡在线观看| 狠狠操,使劲操| 精品人妻av区天天看片| 日本福利二区视频| 久久精品福利影院| 极品欧美一区二区三区| 美女91| 东京男人天堂| 超碰吊日色| 制服诱惑亚洲一区二区三区在线观看| 精品久久久久黄少妇| 五月天婷婷色| 69超碰综合| 美女黄频a美女大全免费皮| 日韩欧美亚洲自拍偷拍| 综合色好色| 久久女女| 日韩一卡二卡三卡| 九九九九九精品视频| 人妻无码一区二区三区久久99| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 97天天摸天天碰| 日本片日本片祼观看网站在线看中文版网页在线看 | 久视频在线观看| 99视频内射三四| 色综合av男人天堂| 亚欧Av| 国产男人又猛又粗又爽| 亚洲成?V人片在线观看福利| 97色色国产视频| 天天日老熟妇| 亚洲有薄码区日本系列中文字幕| 殴美,日韩国产伦精品| 大香蕉九九| 超碰av在线| 日本三级日本三级99| 久久婷婷综合国际产色怕| 超碰人妻天天干| AV和黑人在线播放| 久久久免费的精品| 在线 亚洲 网爆 自拍| 国产超碰国产97| 少妇免费视频| 中国小夫妻勾搭露脸淫荡对白| 欧美日韩亚洲电影| 蜜桃传媒视频第一区入口在线看| 一卡二卡三卡| 亚洲图片第一页| 国产午夜精品理论片a大结局| 国产在线综合福利网站| 国产精品久久久无码AV网站| www色日本| 91GD.COM| 粉嫩少妇自慰在线| 欧美黄色片AAAAA| 日本黄色XXX| 91青青在线视频| 欧美九九九| 中出欧美| 欧美精品日韩久久久九| 色婷网| 欧美1727免费观看视频| 欧美久久婷婷| 久久伊人东京热| 亚洲欧美999| 国产成人无码a| 97精彩视频网站| 99热色这里只有精品| 无码人妻一区二区一牛影视| 伊人久久大香蕉线AV五月天| 九一性生活免费视频| 97 国产精品| 97爱爱爱| 操逼视频国产无套| 操逼免费视频无码国产| 欧美黄色片AAAAA| 综精品久久久aaaa| 91亚洲影视| Sekablack无码一区| 强奸乱伦动态污图免费 | 天天综合网在线91| 国产91啪| 蜜桃精品一区二区三区ww| 欧美91网站| 777超碰| 亚洲?V无码专区在线电影| 国产激情片在线观看| 欧中日成人免费影视| 国产夫妻性生活视频| 成人免费性爱视视| 91狠狠色丁香婷婷综合久久| 欧美精品23| av一区二区三区 中文| 欧美黑人与女人91~| 自拍第一页| 内射夫妻三片| 青青草在线成人视频| 深夜激情| 狠狠干婷婷| 欧美激情亚洲情色| 性色av大全| 97午夜剧场日韩| 国产综合久| 五月丁香拍拍激情综合三级| 天天综合网久久ww| 欧美亚洲图片| 亚洲天堂色图| 久久久性| 九九热免费国产视频婷婷伊人五月| 99色在线| 亚洲精品中文字幕一区在线视频| 99只有精品| 九九视频黄色片| 欧美三级一级| 亚洲激情视频| 欧美 亚洲 制服 精品| 女优大全 - 91n| 爱做久久久久久| 啊啊啊啊啊好舒服视频| 亚洲成人日韩小说| 久久99草| 亚洲一欧洲中文字幕在线| 国产人妻一区二区三区欧美毛片| 亚洲国产av中文字幕久久| 欧美在线啊啊啊| 亚瑟国产精品久久无码| 日本天天干天天日一区| 久久成人精品| 国产精品国产拍高清AV| 一本一道久久综合久久| 91久久久久久| 女欧美一区二三区| SUV一区二区在线看| 亚洲国产一区二区日韩专区| 欧亚久久偷拍视频| 一起草日韩| 日韩 欧美 国产 麻豆| 国产精品久久久久久久毛片1| 十八禁黄色成人网站观看| 97这里都是精品| 9久热这里只有精品| 日本三级中国三级99人妇网站| 老司机香蕉| 免费观看有码高清视频| 思思久热在线精品66| 97看操| 亚洲va有码在线天堂| 后入福利视频| 久久五月份| 超碰97人人cao| 精品二999| 91人妻Pr| 日本影视久久免费| 美女大乳久久久久久久女人18| 影音先锋每日最新资源在线观看| 欧美亚州色的图| 国模精品一区二区三区苹果色戒| 狠狠爱夜夜| 99xav| 免费伦费视频在线观看| 香蕉视频精品亚洲一区二区三区在线播| 日韩一级二级三级免费看完整版| 久久m| 亚洲aV无码成人在线观看| 天美传媒AV在线| 免费网站观看www在线观| 国产成人一级av88| 深夜视频| 亚洲大色鬼| A V少妇特黄三级| 日韩综合成人免费视频| 好湿好紧视频| 超碰无码五月97| 五月丁香| 日本无码1| 亚洲无码视频免费在线观看网址!| 97超碰这里只有精品| 国模限制级电影| 欧美少妇色综合| 午夜精品五区| 在线岛国新天堂8| 日夜精品| 97射欧美| 亚洲伊人久久精品影院| 久久熟妇五十路一区| www.超碰在线| 人妻日日干| 国产福利一区二| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 国产欧美后入| 久草新免费| 久久久A∨| 亚洲1区2区三区高清中文字幕| 性色aV一区二区三区噜噜| 亚洲熟久久| 久久久久性熟视频| 青青国产精品在线| www五月| 天天搞在线综合网| 国产熟女完整版中字| 男人的天堂2018.| 熟女突然公开看18禁影片| 黄色大片免费在线| 人妻9117c| 精品999999| 色欧美在线| 日韩综合色网| 人妻人久久精品中文字幕| 午夜毛片高清免费不卡| 狠肏骚人妻| 九九天堂| 大香蕉免| www.91欧美| 香港成人一级视频在线青青草| 精爱久久| 97精品视频免费| 中文字幕55555| 尻女朋友一夜| 天天享受天天看| 北京专精特新企业招聘信息| AV一二区| 1二区9| silk lablo在线观看一区二区| 欧美 日韩 国产传媒| 国产天天骚| 熟女自慰久久久| 97色欧州| 区自美91| 91色插| 欧美91变态| 成人性交午夜免费片| 天天综合网91入口| 日本三级中国三级99人妇网站| 久久激情网| 成人网站 免费观看| 欧美老妇女内射网址| 中文久久| 国产女乱淫真高清免费视频| 日本中文字幕在线视频 | 久久黄黄黄| 欧美高清色| aa片毛片| 操B在线观看| www狠狠| 91亚洲黑人| 欧美一区二区三区大综合| 色大师网站www永久网站视频| 国产乱伦一二三区| AV男人天堂网| 91美女视频在线观看| 人人操,人人液| 亚洲色婷婷综合久久一区二区三区| 久久五月婷| 午夜啪| 美女操逼A A| 97在线视频观看网站| 国产精品自在线发布| 免费啪啪啪网站18岁| 天天操av懂色| 亚欧操逼片在线观看 | 欧美日本久久精品一区| 久久久久久裸体| 欧美性第一页| 精品国产乱码久久久久久口爆网站| 亚洲欧洲另类| 国产乱码精品久久久久久| KK色在线影院| 天天操天天射天天日| 男男H黄动漫啪啪无遮挡网站| 欧插网站| 99国产女人| 天天弄天天操| a男人的天堂| 99rre在线精品99re8| 色欲久久久久综合网| 黄色av一区二区在线| 超硑97精品| 日本二三四区| 麻豆国产96在线| 成人女人国产| 久久少妇| 99综合免费视频| 精品人妻一区春色| 亚洲国产成人精品999| 婷婷五月天成人| 久久超碰av在线| 玖玖爱在线视频免费观看| 国产福利第一视频| 蜜桃午夜视频一区二区 | 免费家庭乱伦视频| 亚洲国产综合久久天堂| 亚洲91在线| 人人色人人操在线| 午夜影美女日鸡鸡天天视频国产 | 404操逼福利视频| 熟妇视频一区二区三区在线观看| 手机在线大香蕉| 国产尹人在线视频免费| 亚洲一区制服诱惑| 午夜AV人气不卡| 久久神马影院| 国产视频一区二区三区在线免费观看 | 日本激情免费大片| 最新av在线| 99久国产精品午夜性色福利| 国产传媒1234区| 国产综合日韩伦理| 久久久久9999妇女| 草草影院日本第一页| 五十路熟女工口| 免费日韩黄片| 日韩淫色网| 国产成人亚洲精品无码古代早漏男| 伊人久久亚洲中文字幕不卡| 日韩精品一区二区日韩| 日日干男人的天堂| 国产成人在线观看综合| 欧美天天影院| 大稥蕉免费视频这里只有精品| 熟女精品日韩一区二区三区 | 在线综合色| 超碰在线成人电影| 欧美色五月| 9久久精品| 日韩精品国产精品五码一区二区| 成人免费性爱视视| 第45页一区二区| 中文字幕亚洲永久精品| 亚洲综合色在线| 婷婷丁香六月| 午夜性生活av免费在线看| 国产一区麻豆免费观看| 成人午夜小视频手机在线看| 欧美丝袜91| 欧美大香蕉在线观看| 欧美18老人禁| 日韩丨制服丨中文|在线| 日韩乱插| 麻豆精品一区二区三区四区免费观看| 四虎免费看黄| 中文字幕在线高清男人的天堂| 人妻精品一区二区| 夜夜嗨绯色| 亚洲高清无码免费观看视频| 日韩三级伊人| 九一性生活免费视频| 久久草大香蕉| 国产精品无码久久久久2025| 干b网| 蜜桃久久久久久| 中日韩熟女| 91人人| 青青草久草AV| 强上我不卡卡| 婷婷五月天影院| 欧美日韩*字幕一区| 激情文学小说一区二区| 日韩紧密久久| 亚洲天堂 视频你懂的| 最新av网站在线观看| 久草男人天堂| 日本久久网| yirendaxiangjiashipin| 国产精品99精品视频网站| 午夜AV污污污| 116美女午夜| 高跟丝袜AV专区国产| 国产精品诱惑| 日本久久久久久久久久| 秋霞福利网| 免费看污网站| 99这里都是精品| 操逼日韩无码 | 污电影在线观看| 天美国产精品| 免费A V在线| 午夜操逼不卡| 在线a亚洲视频播放在线| 亚洲AV不卡在线观看| 国内黄色精品| 人妻久热在线| 99热99re超碰精品| 920日本午夜免费| 92人人操人人| 亚洲图片欧洲图片aⅴ| 日韩极品无码B| 日日骚中文字幕| 久久精品一区二区三区蜜桃臀| 丁香婷婷激情五月天无毒不卡| 嗯啊不要啊在线| 亚洲欧美国产日本一区二区三区| 国产91啪| av在线免费一区二区| 国产亚洲性生活视频播放| 国产99999| 亚洲欲色| 啊啊啊好多水| 在线日韩精品一区二区三区| 色图综合网| 久久久久久久久999| 亚洲国产日韩精品久久久| 呻吟 欧美 日本 中出| 综合91网| 久久久熟女一区| 97超碰这里只有精品| 欧美 亚洲 91| 91成人久久| 智利AV在线网| 中文字幕一区二区三区人妻不卡 | 97精品在线| 啊啊啊啊啊啊啊啊啊啊在线观看| 色综和网| 亚洲系列欧美| 东北老熟女| 麻豆一区二区三区在线看| 亚洲图片小说欧洲| 国产成年女黄特黄| 欧美1区二区三区公司| 午夜精品久久久久久久久久蜜桃| 亚洲成人无码影院| 亚欧高清v| 婷婷丁香五月综合| 久久人妻丝袜一区二区三| 骚货人妻偷情自拍在线视频| 久久人妻四季| 亚洲和欧美裸体美女双飞视频| 男人的亚洲天堂| 爱丝福利| 2017亚洲天堂| 久久久久亚洲?V片无码V| 免费超碰97久久| 热热色AV| 精品人妻一区二区三区在| 日本东京热久久久电影| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产a级午夜毛片| 色97| 久久精品高清无码一区| 78精品| 一本色道综合久久欧美| 午夜欧美女人操逼| 精品国产乱码久久久久久影片| 大香蕉中文aV在线| 性欧美| 先锋影音av先锋一区| 黄片无码在线制服| 天堂av2019| 九九九九精品一区| 欧美中文字幕精品人妻| 日韩人成网站在线播放| 亚洲熟妇自偷自拍另欧美| 欧美色图色综合| 精品视频一二三中文| 一区操逼| 亚欧精品久久久久久久久久久| 在线黄色污污网站| 水滴偷拍| 亚洲天堂久久久久久粉红视频| 亚洲国产一区二区日韩专区| 激情99| 亚洲性猛交| 97爱综合| 桃花色涩综合影院| 成人黄页| 在线免费观看高清无码视频| 日韩一级片| 九九九九九精品十六| 国产97亚洲| 国产三级日产三级韩国三级| 黄色二级片网站| 欧美碰碰综合色| 伊人激情五月天一区二区| 丰满欧美少妇| 国产999精品久久久| 一类无码操逼视频| 欧美香蕉视xxx| 性色A∨91| 超碰av在线| 久久精品99| 精品无码不卡视频| 午夜欧美J进J出白浆流出久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 91美女在线| 国产福利第一视频| 97热视频在线观看| 国模艳艳啪啪一区| 情色五月天网| 人人操人人操人人人操| 中文字幕视频2区| 日韩欧美亚洲自拍偷拍| 美国美女AV在线| JuliaAnn丝袜熟女系列| 97啪啪| 69久久| 国产99 中文字幕日韩小视频| 天堂亚洲精品久久老牛| 国产精品黄色三级av| 伦在线97| 成人5码视频| 色哟哟av网址| 人人看人人摸人人色| 亚洲在钱| 噜噜噜无码AV一级一级久久影院 | 日夜久久久九九九久| 国产精品爆乳懂色蜜乳| 老师充足的奶水小说| 夫妻四区五区六区| 久久性生大片免费观看性| 中文字暮97| 激情小说图片亚洲首页| 男生女生啊啊啊啊| 久久一区二区高清免费| 亚洲九九视频在线观看| 丁香五月天堂网| 加勒比综合88| 男人天堂站| 欧美日日操| 蜜臀在线看片| 婷婷六月天| 可免费观看的av毛片中日美韩| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 白丝被操91| 欧美视频激情久久久久久| 91c色| 97国产精品在线观看| 99这里有精品视频| 久久无码一区二区二三区性色| 日日夜夜噜| 亚洲欧洲综合视频在线| 欧美色图片| 999 久久久| 67194国产| 久久草草亚洲蜜桃臀| 欧美91网站| 伊人久久婷婷| 夜夜操青青草| 强乱老妇中文字幕| 韩国三级三级BD在线| 丝袜美腿制服人妻二区中文字幕| 巨乳特殊服务按摩| 老汉网| 99这里有精品视频| 911av网站免费观看| 人人操人人操人妻人| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 精品视频一区二区| 九九九九九九免费视频| 亚洲色图久久成人| 91精品人妻电影| 国产精品美女久久久久久网站| 五十路人妻在线| 色哟哟国产精品免费网址| 污污汅18禁网站在线永久免费观看| 亚洲黄色电影| 中文字幕女同在线| 亚洲情色五月天 | 九九RE视频在线精品| 啪啪啪精品| 中文字幕在线免费观看 | 欧色性第一页| 日韩伦理视频| 长长久久88视频| 亚洲成人性爱在线观看| a片 xxxx受爽视频| 竹菊一区二区三区AV线| 国产精品久久久九九九| 欧美日韩人人精品| 色色亚洲| 中国亚洲呦女专区| 青娱乐国产盛宴视频| 欧美岛国精品在线观看| 精品人妻少妇| 黄色交缠性感爆操91国产精品免费一区二区三区| 欧美中文字幕一区| 国产一区96在线| 翔田千里av一区二区三区| 美女写真| 欧美18 在线观看| 亚洲精品亚洲人成人网| 亚洲精品三区在线观看| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 国产免费久久久久| 国产区91柔拿会所技师| 大香蕉视频一二三区| 伊人国产成人av网站| 天美传媒AV在线播放| 亚洲成人在线乱码色午夜| 亚洲偷91色| 日韩一级二级三级免费看完整版国语版 | 久久激情视频| 久久草大香蕉| 五月婷婷综合在线| 99色色网| 久久黄黄| 97亚洲一区| 精品久久99| 九九九久千久久激情蜜桃在线看 | 日本操大逼| 免费αⅴ在线观看| 无码操逼网| 亚洲精美粉嫩嫩泬在线观看| 日本操大逼| 夜嗨影院| 麻豆这里只有精品| 99色热| 亚洲日本韩国极品一区二区| 99999无码| 久操操| 在线一区| 人妻人久久精品中文字幕| 91亚洲丝袜熟女| 99re久久| 欧美精品成人一区二区在线观看 | 国产欧美日本亚洲精品| 国产精品 久久久精品一牛| 秋霞网—男女啪啪亚洲免费体验区 | 日韩有码专区| 日韩无码人妻| 在线播放一级无码视频| 国产又粗又长又爽又色| 婷婷综合五月天| 无码91| 夜夜操一区二区| 九九久久国产精品怡红院| 天天综合色图| 亚洲AV秘无码一区..| 97人人操人人摸| 操屄不卡视频| 少妇国产不卡| 亚洲天天影视色综合| 91综合天天看| 亚洲精品自拍| 亚洲精品中文字幕一区在线视频 | 清柠毛片| 国产亚洲色婷婷99精品91| 果冻传媒A片一二三区 | 97在线免费公开视频| 久久免费少妇| 青青久久手机线视频| 色婷婷影院| 亚洲欧美精品久| 亚洲骚逼少妇| 激情抓乳插进去啪啪啪日韩| 色婷视频| 精品无码久久久久| 欧美97色| 精品国产乱码久久久久久口爆网站| 开心激情婷婷| 人妻激情在线视频| 激情小说亚洲| 深夜激情无码| 制服少妇欧美| 97伊人网| 人妻日日干| 免费农村成人少妇人妻Aa一区二区视频 | 狠狠激情综合狠狠操中文字幕| 日本久操视频| 999色欧美中文字幕| 久久欲| 2010男人的天堂| 日日日大屁股骚女人精品| 亚洲av青草久久一区二区| 嫩草影院性色| 人人 操人人 操人人| 又大又白奶子| 亚洲人精品久久久| 国产精品毛片?v一区二区三区 | 无码在线亚洲| 国产熟妇一区二区| 精品人妻一区二区三区日产乱码| 日韩精品在线观看网站| 国产精品视频播放| 亚洲麻豆av一区二区| 99久久久久| 美女91av| 日韩精品免费高清视频在线| 一区=区三区视频| 欧美综合第一页| 国产 v乱码一区二| 伊人精品国产| 中文字幕亚洲永久精品| 桃色六月天| 精品久久久av无码免费| 国产 日韩 欧美 人妻 熟女 中文 69人妻精品一区二区绯色 | 干婷婷综合网| 狠狠做深爱婷婷久久二区| 性饥渴少妇av无码毛片| 日本精品人妻少妇一区二区| 青青久久艹| 久久乐| 资源新线在线天堂| 99亚洲精品| 欧美 亚洲| 大香交伊人网| 亚洲97超碰| 久久久蜜桃一区二区三区| 久久精品国产亚洲粉嫩| 9l视频自拍9l九色成人| 亚州欧美在线| 成人婷婷丁香| 日日骚中文字幕| 亚州操操穴网| 亚洲**2021在线观看| 日韩精品人妻系列无码天堂| 中文字幕丰满人妻日本| a男人的天堂| 无码直播久久久| www.高清无码诱惑一区.com | 欧美一区二区三区互相| 91亚州欧美| 国产欧美日韩一区二区三区| 老熟女中文字幕高清| 日本视频一区二区三区| 97精品视频在线| 婷婷久久网| 精品黄色电影| 蜜伊人色综合97| 无码国产Av| 大屁股熟女一区二区三区| 操逼网免费无码视频| 97超碰公开| 亚洲综合小说另类图欧美视频激情小说色五月天 | 一本大道综合伊人精品热热| 为用户提供免费看黄网址在线观看| 美日韩在线不卡人妻| 色久桃花影院在线观看| 天堂av最新电影网| 99热免费| 手机在线播放国产福利| 久久精品无码熟妇一区二区三区视频导航 | 中文字幕 码 自拍 视频 区| A级在线视频| 走光一区92下载| 久久五月综合| 日韩黄色片子| 亚洲中字慕不卡| 久草精品热视| 成人a大片在线观看| 天美传媒精品久久视频| 岛国小电影| 久久久久成人亚洲国产| 搡老女人老熟女91老熟女综合网| A级国产欧美激情在线| 日韩传媒在线| 蜜屁Av| 欧美黑人168页欧美黑人167| 女优免费一区二区永久| www.99色| 中出人妻中文字幕91在线| 水野优香在线观看| 377p欧洲日本亚洲大胆| 中文字幕乱妇免费视频| 国产熟女一区二区丰满| 婷婷伊人网| 久久国产熟女影院| 日曰骚久久精品| 亚州久久9| 韩国久久97| 人人操,操人人| 男女无套 免费网站| 国产精品久久久鸭无码的功能| 91欧美在线| 懂色av中文字幕一区二区三区天美| 中文高清一区二区的| 黄页网站免费高清在线观看| 国产极品馒头逼| 加勒比少妇AV婷婷六月天超碰超碰| 97中文超碰| 婷婷AV一区二区三区| 日韩在线欧美精品一区二区| av天堂加勒比| 韩日精品福利视频一区不卡在线免| 婷婷香蕉欧美在线一区二区三区| 大香网站| 免费观看性欧美一级| 午夜精品久久久久久久久久久久久| 欧美人人天天网| 艾草av| 欧美日不卡| 久久丁香五月天| 综合欧美激情网| 国产成人精品必看| 欧美一区二区男人天堂| 亚洲欧美日韩不卡人妻| 中文字幕av片| 亚洲自拍欧美色综合| 亚洲淫乱骚妇AV| 九九天堂| 91 在线亚洲| 可以免费观看的AV| 久久东京国产精品视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 噜噜吧,噜噜色,噜噜| 国产精品999zyz| 亚洲制服aⅴ中文字幕| 久草尤物| 秋霞免费无码视频日韩A片| 亚洲国产综合图区中文字幕| 精品人妻15区| 一级AAA片一区二区三区| 麻豆a'v电影| 天堂综合| 麻豆区久久久久亚| 人妻色情天天操| …中文字幕亚洲乱,97人妻无码费视… | 人妻久久久久久| 99久久99九九99九九九| 91|九色|国产熟女| 国产自偷自拍一区| 91精品久久久久久综合五月天| 欧美日韩国产色图在线| 日本熟妇人妻中出视频| 亚洲砖码砖专无区2023| 亚洲砖码砖专无区2023| 国产激情在线| 激情五月综合网| renqi久久久久久久久久久久| 97色色色| 日本免费不卡二区| 国产AV天美| 亚洲限制级| 狠操91,com| 成人九九| 亚洲欧美另类图片| 国语av狠狠色丁香婷婷综合激情| 26uuu最新| 亚洲国产成人福利在线观看| 无码日韩人妻av一| 欧美性爱另类综合| 69超碰综合| 久久久久久亚洲精品中文字幕人妻| 草b在线| 欧美成人综合| 91老熟女91老女人| 午夜精品久久久久久久久久久久久 | 躁躁日曰躁2020| 天天摸天天舔天天操| 熟女熟妇一区二区三区视频| 97资源亚洲| 五月丁香六月综合缴清无码 | 草草影院日本第一页| 国产精品自拍欧美在线| 婷婷九月色| 色眯眯射| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 色综合中文字幕不卡| 欧美aⅴ99久久黑人专区| 少好三P| 九九九九精品| 人人操人人操草草| 91 亚洲 欧洲| 欧美日韩青操| 色臀AV| 亚洲国产ⅴ高清在线观看| 久久久久国产无av| 美腿色图| 夜夜国自区| 熟妇综合一区二区三区| 婷婷去俺也去六月色| 男人的天堂不卡一区二区| 欧美欲色| 干b网| 日熟女| 六月丁丁香| 91丨九色丨国产丨人妻在线 | 男人天堂一区二区| 久久久久久久久久久999| 91情色在线| 欧美黄色大片在线观看 | A V少妇特黄三级| 香蕉色网| 97精品一区二区视频| 91精品丝袜久久久久久| 欧美伦乱爱| 综合久久97| 免费人成?大片在线播放| 亚洲 欧美 小说| 亚洲熟女av中文字幕| 激情综合二| 91麻豆天美传媒HD| 亚洲欧美日韩不卡人妻| a v网站在线播放| 欧美老妇女内射网址| 欧美综合网A| 丁香五月天激情网站| 精品人妻一区二区三区视频| 大色综合| 啊啊啊啊一区| 九九九不卡| 看日韩操逼| 精品无码久久久久| 人人操人人干xxx| 中文字暮97| 日本大香蕉综合网| 青青草天天亲夜夜操网| 熟女高潮合集-永久久久-成人AV| 爱妃国产亚洲视频中文字幕| 欧美熟爽综合| 日本媚薬中文字幕在线| 性爱av在线免费观看| 激情情色五月天| 亚洲欧洲精品视频发布| 国产久久一区二区| 亚洲无码国产精品久久| 熟女一区二区| 操一操摸一摸| 一区二区三区 丝袜 高跟 美腿| 久久日韩肥臀| 97在线精品| 神马麻豆福利院| 色综合色色| 偷偷人人精品女女久久| 激情四射五月天| 91综合天天看| 狼人久草| JuliaAnn丝袜熟女系列| 色婷婷五月综合| 久热伊人| 女色视频社区| 国产精品免费久久久久久久久久| 91在线页| 69av一区二区三区| 有码色中文字幕在线观看| 26uuu欧美日韩| 亚洲视频二区| 久久精品国产亚洲AV片多多 | 日韩伦理视频| 成人26uuu| 超碰夫妻97| 亚洲国产精品无码AV在线| 久久精品99| 91九色网| 操国产高清| 国模不卡一本二本三电影| 色色网91| 久久中文字幕女同性恋一区| 国产伦精品一区二区三区在线观| 欧洲精品二区| 久久9亚洲| 秋霞久久亚洲精品成人| 免费男人的天堂| 五月天婷婷欧美三区| 欧美gv在线观看| 久久综合av| 天天干天天拍| 无码137片内射在线影院| 粉嫩久久久久| 久久久久9999| 色视频蜜乳| yazhouzaixian| 欧美大码在线视频| 涩涩这里只有精品视频| 青女偷拍网| 日韩av三四区| 成年人一级黄色毛片大全在线观看| 久久久啊啊啊| 热久久国产精品视频大陆精品| 国产女性无套 免费观看| 女性91网站| 美女91av| 综合色图区| 国产一区二区精品久久99| 啊啊啊啊好疼| 今日头条成人一区二区三区四虎精品| 亚洲操逼视频网站| 成人精品无码| 日本高清一本二本免费不卡| 国产不卡精品91| 国产欧美岛国精品一区| 亚洲欧美天堂| 四虎免费视频| 欧美成人亚洲精品| 免费看一级a性色生活片久久无| 91视频精品| 精品人妻一区二区蜜桃视频| 日产中文字幕2020| 五月丁香综合啪啪| 亚洲自拍天堂| 久久啊啊啊| 狠狠操狠狠燥| 看黑丝美女操逼青青网站| av资源在线播放天堂| 综合国产影视三级| 国产97在线 | 亚洲| 国产精品国产| 美女高潮视频91| 激情丁香五月| 国产欧美日韩精品中文| 久久成年片色大黄全免费网站| 欧美97免费| 97视频在线视频| xxx亚洲午夜天堂| 婷婷色综合| 精品一二三区久久AAA片| 蜜乳视频网站| 国产精品96| 国产一二三福利视频网| 美女丝袜激情小说| 大香蕉在线视频重口味毛片在线| 黄色网址久久精品欧美喷水| 操逼操操操91| 午夜福利在线合集| 国产日韩欧美中文在线播放| 亚洲国产精品无码AV久久| 中文字幕一区二区无码成人 | 人人操人人搞人人草| 26uuu久久| 东北女人操逼| 高清无码人妻久久久一区二区三区aⅴ| 破处bbq| 98福利在线视频| 欧洲精品网| 欧美在线大香蕉| 啊嗯好大视频在线观看| 熟女丰满人妻一区| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产精品岛国片在线观看| 欧美天天干| 台湾成人无码AV| 热久久国产| 国产AV色黄看到爽| 日韩中文字幕国产| 99久久精品无码一区二区毛片免费 | 加勒比五月天| 青青伊人加勒比海| 午夜AV污污污| 精品乱码在线观看| 亚洲se电影| 蜜臀99久久精品| 小电影欧美91| 精品九区| 天天综合网日韩| 色综合一本| 自拍偷拍草一草| 最新av网站在线观看| 热久久国产| 亚欧无码在线| 午夜高清成人在线视频| 欧美国产日韩高清在线| 亚洲第一狼人丝袜美女另类| 国产精品视频| 亚洲 另类 丝袜 自拍 动漫| 久久精品人妻一区二区| 龙兴卡官方查询| 欧美天天在线| 欧美色97| 大色综合| 免费成人在线观看91| 免费αV在线视频| 日本免费人成视频播放120秒| 亚欧视频在线| 十八禁啪啦拍视频无遮挡| 69人妻精品一区二区绯色| 日韩97超碰中文字幕| 91色综合激情| 久九九九九九九热| 久久老子无码午夜伦不卡| 国模少妇一区二区三区| 天天拍天天操| 熟妇视频一区二区三区在线观看| 五月天综合网| 2020中文字幕在线| 五十路三区在线| 欧美成人A√在线一区二区| 超碰成人公开| 九九热视频在线观看| 曰本精品久久久| 久久9999 | 国产精品第一页国产大屁股视频免费区i| 天天久久久久久| 国产亚洲色停停久久99精品91| 无码日韩人妻av一| 九九九九久久久| 欧洲精品人妻| 欧美色青| 伊人五月天激情| 九九热男人天堂|