亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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)上涵蓋桌面邏輯、機器人模擬、公共函數(shù)等模塊。已有2530人學(xué)習(xí)下載。源碼中可重點研究Cocos2D-X的場景、精靈、動作系統(tǒng)麻將洗牌、出牌、胡牌判定的核心算法以及UI交互、網(wǎng)絡(luò)通信、數(shù)據(jù)存儲和多平臺適配的實現(xiàn)方式。整體按模塊劃分文件類型多樣適合作為游戲開發(fā)進階的實戰(zhàn)參考與代碼研讀資料。1. 先說清楚標(biāo)題里的“手游歡樂麻將源碼”到底指什么很多開發(fā)者拿到一個寫著“手游歡樂麻將源碼”的壓縮包第一反應(yīng)是解壓后雙擊、編譯、跑起來就能進游戲。實際上一套能稱得上“源碼”的棋牌手游項目從來不是一個單機工程而是由客戶端、服務(wù)端、數(shù)據(jù)庫、運營后臺組成的完整系統(tǒng)。你看到的標(biāo)題通常指這類仿某熱門歡樂麻將玩法的開源或半開源棋牌項目源碼用于學(xué)習(xí)技術(shù)、做二次開發(fā)、搭一套自用測試環(huá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客戶端工程負責(zé) UI、動畫、音效、網(wǎng)絡(luò)通信UnityC#或 Cocos CreatorTypeScript/JavaScriptserver服務(wù)端工程負責(zé)登錄、房間、玩法、結(jié)算、機器人JavaNetty、Go、Node.js、Cdatabase數(shù)據(jù)庫腳本建表、初始化數(shù)據(jù)MySQL、Redisadmin運營管理后臺查玩家、配房卡、看流水Vue/ElementUI Spring Boottools打包腳本、熱更工具、資源壓縮工具Python、Shell先別急著進任何一個目錄。第一步是看根目錄有沒有 README 和“版本說明.txt”這類文件。很多源碼作者會把運行環(huán)境的依賴版本、啟動順序、默認端口寫在里面。如果 README 缺失就按目錄名和配置文件反推但這就進入玄學(xué)階段了后面會踩不少坑。我一般會先用一條命令把整個工程的目錄樹輸出到文件里然后根據(jù)目錄命名判斷模塊邊界。這樣做的意義不是好看而是確認一件事客戶端和服務(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ā)機和測試機來回折騰。先用最小代價驗證系統(tǒng)是活的再一步步加?xù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)境的命令如下先確認機器上已經(jīng)有這些工具java -version mysql --version redis-server --version node -v 2/dev/null; go version 2/dev/null這段命令看的是基礎(chǔ)環(huán)境。java -version確認 JDK 版本mysql --version和redis-server --version確認數(shù)據(jù)庫與緩存后面兩行是兼容性檢查輸出為空說明本機沒裝對應(yīng)運行時。參數(shù)2/dev/null的作用是屏蔽掉“命令不存在”的報錯讓輸出更干凈。如果缺其中某項先裝齊再繼續(xù)。MySQL 安裝后要確認能本地登錄Redis 不用做密碼認證的話默認監(jiān)聽 6379 即可。這一步看著簡單但很多翻車現(xiàn)場都出在這JDK 版本太高導(dǎo)致 Netty 啟動異常MySQL 8 的認證插件和源碼里的舊驅(qū)動不匹配Redis 沒裝導(dǎo)致登錄時 token 寫不進去。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 目錄里的腳本配合處理。改配置時注意一個細節(jié)不要把端口改亂。服務(wù)端所有對外端口、對內(nèi)端口都可能在別的模塊里被引用。改一個端口之前先全局搜一下有沒有其他地方引用同一個端口號。在這個階段盡量保持默認端口只改數(shù)據(jù)庫和 Redis 的訪問信息能少一半的排錯工作量。3. 服務(wù)端讓房間游戲邏輯跑起來的關(guān)鍵3.1 服務(wù)端模塊劃分網(wǎng)關(guān)、房間服、玩牌服不是一回事一個能撐住多人對戰(zhàn)的棋牌服務(wù)端絕不是一個單進程程序。我拆過的源碼里常見的是三層結(jié)構(gòu)網(wǎng)關(guān)層、邏輯層、數(shù)據(jù)層。網(wǎng)關(guān)層負責(zé)維持客戶端長連接、做消息轉(zhuǎn)發(fā)、鑒權(quán)邏輯層里面又拆成房間管理和玩法計算數(shù)據(jù)層跑 MySQL 和 Redis存賬號、房卡、對局記錄。用表格看更清楚模塊作用典型端口出問題時現(xiàn)象gateway / proxy接收客戶端連接轉(zhuǎn)發(fā)消息9000-10000客戶端連不上服務(wù)器hall / lobby大廳服務(wù)登錄、房間列表、好友信息9001登錄卡住、進不了大廳room / game房間內(nèi)玩法發(fā)牌、出牌、結(jié)算9002建房失敗、打牌不同步db / mysql持久化數(shù)據(jù)3306結(jié)算數(shù)據(jù)丟、玩家登錄失敗切分模塊的目的很直接網(wǎng)關(guān)層出問題只影響連接不影響已經(jīng)開始的牌局玩牌服出問題只影響本房間不至于把大廳拖垮。源碼里如果只有一個 Java 進程包含所有邏輯那是給學(xué)習(xí)和測試用的簡化版上線級項目基本都拆開了。從排查角度講這個結(jié)構(gòu)告訴你一個原則客戶端報錯時先分清是哪一層的問題。連不上服務(wù)器先查網(wǎng)關(guān)登錄失敗先查大廳和數(shù)據(jù)庫進房失敗先查房間服。不然你會陷在客戶端代碼里瞎翻半天。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讓進程在斷開 SSH 后繼續(xù)運行 ../logs/server.log把輸出寫進日志文件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)建房間消耗房卡然后拉好友進來玩打完一局結(jié)算房間解散。金幣場則是玩家進入一個大的匹配池系統(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 機器人對手是怎么實現(xiàn)的這不是你想象的機器學(xué)習(xí)棋牌源碼里經(jīng)常帶一個“機器人”或“AI玩家”模塊。它的作用不是像圖像識別那樣用模型推理而是用一套規(guī)則引擎模擬真實玩家行為。常見實現(xià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機器人不是每手都打最優(yōu)牌而是按概率出錯。初級機器人difficulty設(shè) 0.3高級機器人設(shè) 0.9玩家的體感差別就出來了。注意這里用的是random.random()做隨機決策真正上線時要用安全隨機數(shù)否則玩家能通過已知隨機種子反向算出牌序。理解機器人實現(xiàn)的好處是當(dāng)你二次開發(fā)時不用去改客戶端邏輯只需要調(diào)服務(wù)端里機器人的難度參數(shù)、出牌策略權(quán)重就能改變游戲難度。這個模塊也是防外掛檢測的天然樣本庫服務(wù)端知道機器人會怎么出牌如果玩家出牌風(fēng)格和機器人高度重合就有疑似腳本嫌疑。4. 客戶端從資源加載到登錄進房抓住三條鏈路4.1 客戶端網(wǎng)絡(luò)層先認準(zhǔn)連接、心跳、消息號客戶端是一套獨立的工程但它所有玩法都依賴和服務(wù)端的通信。看客戶端代碼時不要一頭扎進 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ò)層時先確認有沒有按長度拆包如果沒有加消息時很容易導(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 登錄消息號 }這里的三個步驟是層層遞進的第一步拿token第二步拿serverList第三步才是真正的游戲長連接。源碼里如果寫死了服務(wù)器 IP那說明是針對單一服務(wù)器設(shè)計的如果serverList來自 HTTP 響應(yīng)說明支持多區(qū)服負載。排查登錄問題時要盯住這個鏈路賬號密碼對不對看第一步服務(wù)器列表為空看第二步連接后立刻斷開看第三步。很多源碼登錄失敗不是密碼錯而是服務(wù)端沒給 tokenHTTP 接口返回的已經(jīng)不是 200客戶端還在傻等。4.3 資源熱更與分包源碼里一般怎么處理棋牌源碼和單機游戲源碼的最大區(qū)別就是熱更。同一個 client 目錄下往往有assets和update兩個資源目錄。assets是打包進安裝包的update是放在服務(wù)器上用版本號控制下載的。源碼自帶的資源通常是占位圖和低精度模型真正的美術(shù)資源本來就不全這也是源碼打出來包很大的常見原因??礋岣壿嫊r關(guā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; }這里的核心是“差異資源”??蛻舳酥桓伦兓糠侄皇窍螺d整個安裝包這是棋牌項目更新效率的命門。你在源碼里看到的version參數(shù)一定要維護好改了一點 UI 資源就把版本號加一否則玩家端永遠顯示舊界面。熱更目錄還有個坑就是本地緩存覆蓋邏輯。如果改完資源后沒有清掉本地緩存客戶端會一直讀取舊文件表現(xiàn)就是“代碼明明改了跑起來還是老樣子”。清 Cache 是熱更調(diào)試?yán)锏氖滓獎幼鳌?.4 打包上真機Android 與 iOS 的差別客戶端最終要裝到手機上才有意義。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)代碼用宏屏蔽掉省下的時間夠你把對局邏輯多讀兩遍。另外真機調(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 緩存沒清登錄永遠提示用戶不存在現(xiàn)象服務(wù)端能啟動、賬號能注冊但用剛注冊的賬號登錄就報“用戶不存在”。原因登錄鑒權(quán)時會先查 Redis 緩存再查 MySQL。數(shù)據(jù)庫已經(jīng)寫了新用戶但 Redis 里的用戶緩存還是舊的或者注冊服務(wù)沒把新用戶同步寫入 Redis導(dǎo)致查詢走了錯誤的數(shù)據(jù)源。解決先執(zhí)行redis-cli flushall清掉所有緩存再重新登錄。如果還有問題就去看注冊接口的代碼確認注冊成功后有沒有調(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但手機和服務(wù)端不在同一網(wǎng)絡(luò)端口號被占用服務(wù)端實際監(jiān)聽的是其他端口協(xié)議類型不匹配服務(wù)端是 TCP客戶端按 WebSocket 發(fā)的。解決先用netstat -tunlp | grep java看服務(wù)端實際監(jiān)聽的端口。然后在電腦上先用telnet 服務(wù)器IP 端口測試通不通通了再連手機。最后確認客戶端配置里的協(xié)議類型TCP 還是 WebSocket 還是 HTTP 輪詢這幾樣完全不兼容。調(diào)試時建議讓客戶端日志輸出服務(wù)端返回的原始報文能看到字節(jié)數(shù)是 0 還是要到的數(shù)據(jù)不對。5.5 牌局結(jié)果對不上賬時間戳與隨機種子的坑現(xiàn)象兩個客戶端看到的同一局手牌不一樣或者結(jié)算時金幣數(shù)和服務(wù)端記錄不一致。原因棋牌項目是服務(wù)端權(quán)威計算客戶端只展示結(jié)果。如果客戶端也參與了發(fā)牌計算或者服務(wù)端用了可預(yù)測的隨機種子就會出現(xiàn)不同步。另一個常見原因是服務(wù)器時間不準(zhǔn)玩家在某個時間點前的對局被記成另一天導(dǎo)致結(jié)算報表錯亂。解決源碼里凡是用Math.random()的地方都要改成安全隨機數(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)、縮短對局時間、把機器人難度調(diào)低真正上線時必須確認這幾個邏輯都切到正式分支。這個坑最隱蔽因為它不報錯只是行為不對。6. 從源碼到你能自己做的東西驗證與二次開發(fā)把服務(wù)端和客戶端都跑通之后只說明工程能啟動不代表它能成為你的產(chǎn)品。這段時間我最常做的一件事是定義“最小閉環(huán)”注冊賬號、登錄大廳、創(chuàng)建房間、拉滿四個機器人、打一圈牌、完成結(jié)算。這個閉環(huán)跑通源碼才真正算你的。跑閉環(huán)時不要上來就模擬并發(fā)。用兩個客戶端一個玩家一個觀察者手動操作一遍觀察服務(wù)端日志里每個關(guān)鍵節(jié)點的輸出建房指令、加入指令、發(fā)牌指令、出牌廣播、結(jié)算廣播。任何一個節(jié)點斷了都是你排查的好機會比自己瞎改 UI 有價值得多。二次開發(fā)從哪下手我推薦先改最容易看到效果的玩法參數(shù)多局積分規(guī)則、封頂番數(shù)、機器人難度曲線。這些改完能直接在客戶端里驗證成就感最強也最能鍛煉你對服務(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
返回資訊列表
性色乱AV一区二区| 中文字幕成人| 亚洲性综合9| 一起草三级AV电影在线观看| 一中国女人毛片水真多| 欧美性爱网97| 少妇干B| 久久精品成人| 狠插 制服 自拍| 综合免费无码中文| 国模无码人体一区二区三| 校园春色欧美色图| 激情五月婷婷| 亚洲欧洲av影音| 天天日少妇逼AV| 国产精品96久久久久久| 午夜性| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 免费看欧美美女黄色大片| 日日爽熟女| 亚洲熟女乱色一区二区三区久久久| 伊人影院综合是一个与深夜成人在线| 操www| 亚洲精品97中文字幕| 欧美 亚洲 偷拍自拍| 日韩肏逼视频| 日韩色图 一区二区| 99欧美| 再深点灬舒服灬太大了添视频| 亚洲天天精品| 中文字幕-区二区三区四区视频中国| 久久精品国产亚洲AV高级北京| 久久午夜色播影院免费高清| q2午夜理论片夜色av| 狠狠操狠狠燥| 加勒比久久av| 亚州熟女乱伦| 福利操逼| 一起草三级AV电影在线观看| 亚洲性爱免费电影| 啪啪资源网| 久久成人午夜精品影院| 黄色av网站在线播放| 久久超碰网| 久久久久久久9最新免费视频观看| julia高潮后不停追击中出| 黄网色一区二区三区四区精品| 99国产在线 精品 视频| 日韩不卡a级视频专区| 国产精品无码成人精品| 人人操人人摸人人看人人干| 国产一区二区三三视频| 淫骚熟女一区二区三区| 97色冈| 熟女视频久久| 蜜桃成人1区2区3区| 男人的天堂2010| 欧美性爱五月天| 亞洲久久直播| 麻豆2区1区天美| 国产精品久久久久久久久AV大片| 五月丁香色综合| 乱色视频中文字幕| 天天日B狠狠操| 天天操天天射青青草| 六月婷婷色综合| 久久极品伊人| 亚洲天堂情色| 国产精品天堂| 国产精品呦一区二区三区| 插欧洲美女欧美精品| 啪啪AV导航| 人人操人人操草草| 人妻一区二区三区| 亚州色图狠狠干| 欧美亚洲第1页| 欧美在线视频观看一二三四区高清| 综合色久欲| av日韩中文字幕| 色香综合天天影视综合 | 国产激情在线| 久久视网78| 综合熟妇一区二区三区| 亚洲最大成人a毛毛片| 婷婷色导航| 91色噜噜狠狠| 超碰色老头| 色欧洲| 亚洲 自拍偷拍 欧美| 嗯嗯嗯好爽| 1024亚洲中文字幕久在线看片你懂的| 色婷婷一区二区三区久久午夜| 南澳成人一级片在线播放| 亚洲人妻爽爽爽| 欧美亚州手机在线| 亚洲丝袜99| 永久免费观看的毛片的网站| 国产一级作爱毛片| 久久、1234| 亚洲美腿丝袜香蕉影视欧美成人| 91色香| 最新国产精品久久精品| 91高潮喷水美女| 操逼无码操逼| 久热69九色熟妇97| 夜夜精品视频| 99热网站| 男人的天堂视频精品乱在线| 五十路六十路七十路熟婆| 国产高清在线观看欧美| 黄色高清久久无码依人| 可以在线观看的黄色网址| 能看的AV| 日本媚薬中文字幕在线| av最新免费中文字幕| 欧美大香蕉在线观看| 久久久日本电影| 99自拍视频在线| 国产精品高朝久久久久久久| www.久久最新地址| 欧亚免费视频| 精品人妻一区二区三区四区| 男人的天堂亚洲| 91老熟女91老女人| 碰碰在线视频| 骚女天天综合网| 婷婷五月天成人| 天天干1区2区在线| 色色国产| 好吊色综合| 五月综合视频| 久久夜夜| 综合色色婷婷| 美女网站91| 久久人妻丝袜一区二区三| 麻豆AV一区二区天美传媒| 亚洲熟妇综合久久久久久| 日韩美女操b| www.acm成人黄色毛片| 一级A片女人高潮叫床| 亚洲男人天堂网久久| 夫妻AV网站| 国产热RE99久久6国产精品首| 久草精品一区 | 亚洲天堂一区二区久久| 欧美久久人体| 99热综合| 在线观看黄色电话| 欧亚无码视频| 夜夜免费视频| 亚洲熟妇自偷自拍另欧美| 国产免费黄色一级大片| 九九九草| 熟女在线视频| 在线观看综合精品亚洲| 国产黄片精品在线| 日韩九九九| 日产中文字幕2020| 日韩一级片在线看| 强奸乱伦免费网站| 色色99| 欧美另类综合久久| 午夜操逼不卡| 亚州欧美另类| 亚洲色图综合网| 亚洲一区二区麻豆影院| 老熟妇一区二区三区…| 亚洲在线91| 亚洲欧洲久久天堂| 午夜呻吟欧美| 久久久久久国产精品| 国产高清吃奶免费视频网站| 九九九九一区| 精品国产国产AV| 日本曲间由美性生活片| 日本精品高清一二区一本到| 91网九色蝌蚪操熟女| 女上位精品在线| 日韩紧密久久| 国产伦精品免编号公布| 99久久网站| 女人一区| 久操视频免费在线观看| 久久曰曰| 丁香五月婷婷基地| 婷婷午夜成人色中色| 国产免费黄色一级大片| 日韩免费福利在线观看| 久久大| 久久粉色| 欧美成人一级麻豆| 黄骗免费网站| 麻豆精品一区二区三区四区免费观看| 欧美欧美少妇| 中文字幕福利视频一区二区三区在线观看| 男人的天堂2018东京热啪啪啪| 亚洲欧综合另类无码一区| 久久久久久久强迫| 成人a v在线播放免费| 清纯唯美激情| 欧美熟妇精品黑人巨大91| 桑老女人九区| 清纯唯美综合| 综合网欧美| 欧美色网络| 一区二区播放| 亚洲97超碰| 综合97| 亚洲天堂精品日韩电影| 九七超碰| 黄色片A级一区二区三区| 青娱乐国产剧情av一区| 久久青青草原免费视频| 青娱乐国产精品| 少妇高潮对白在线观看| 欧美日韩第一页| 午夜一区| 99这里只有精品| 亚洲日产专区| 久草视频制服诱惑| 精品一区二区麻豆| yy少妇精品久久| 老熟女区| 国产第二页| 久艹99| 亚洲欧洲网站免费观看| 99ri精品| 天天综合亚在线| 激情第四色| 超碰亚洲欧美日韩无| 国产欧美美女免费观看视频| 亚洲大色堂| 91欧美综合在线| 日韩中文字幕精品一二三事国产精品| 九九九九久久久久| 国产亚洲性生活视频播放| 懂色av色欲av蜜臀av| 嫩草一区二区在线观看| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 欧美在线永久天堂| 无码在线亚洲| 亚洲日韩肥臀视频在线观看| 欧洲亚洲天堂精品 | 日韩一区二区三区四区五区| 国产精品区在线12p| 26uuu偷拍亚洲欧洲综合| 黄骗免费| 日韩国产十八禁| 免费国产| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 久久婷婷成人综合色怡春院| 香蕉欧美| 久99| 天天热精品| 久九九九| 日韩黄色电影网站| 久久神马影院| 伊人操| 天堂中文日本在线观看| 美腿丝袜高跟网免费视频免费视频| 国产福利在线视频网站| 天天综合~91入口| 亚洲精品国产av天美传媒| 啊啊啊水好多| 久久无码电影| 日韩欧美蜜桃精品久久中文字幕久久 | 99亚洲精品| 在线国产探花| 国产一| www久久国产精品| 亚洲精品日韩国产欧美| 欧美亚州色的图| 一起草三级AV电影在线观看 | 风间由美日韩欧美久久| 18禁超污无遮挡无码免费网| 丝袜制服字幕在线| 中文字幕熟女人妻丝袜| 色情综合网| 女人18精品一区二区三区| 人妻干天天| 殴美综合色88| 黄色视频高清无码网站| 中文字幕视频一区视频二区| 日日骚中文字幕| 久久五月天婷婷| 9997se| 熟女字幕| 人人九九精| 大香网站| 免费精品AB| 国产97色在线| 成人五月天丁香激情综合| 九色97| 亚洲学生妹高清av| 殴美,日韩国产伦精品| 亚洲性高潮| 丁香啪啪| 日韩字幕一区| 加勒比五月天| 免费强奸av| 日本道日本道中文字幕日本道最新日本道在线观看 | 天天看片天天爽| 亚洲欧美另类图片| 天天干一区二区| 欧美裸体美女日麻屄| 麻豆久久久久久久久丝袜 | 综合色播| 呦呦影院| 96久久久精品| 性做久久久久久免费观看软件| 麻豆人妻偷人精品无码视频| 国产日韩欧美三级片 | 91肏屄网| 美女操逼福利视频| 狠狠爱夜夜| 91在线美女| 日韩综合成人免费视频| 超碰综合97在线| 亚洲成人综合在线| J?P?NESEHD熟女熟妇伦| 欧美91精彩| 色吧91| 久久嫩草国产成人一区| 性色av网站| 夜夜躁狠狠躁日日躁av| 96久久久精品| 国产精品青青草| 看大黄色大片原件| 久久久啊啊啊| 麻豆人妻少妇在线免费观看| 亚洲欧美经典一区二区| 日本影视久久免费| 亚洲黄色网址| 91 手机在线播放 绯色| 377p欧洲日本亚洲大胆| 好涩综合| 超碰97在线色男人??| 综合色啪| 天堂中文日本在线观看| 91春色| 精彩久久中文| 日本97久久久精品| 亚州精人品大香蕉| 91丨熟女丨丰满熟女| 日韩啊V| 欧美日韩美女精品久草一区二区三区 | 99热超碰| 色狠狠色| 亚洲AV操| 亚洲色图尤物视频| 老熟女91| 精品视频一二三中文| 日本孕妇孕交| 嫩草伊人久久精品| 九九草| h色99999| 嫩草影院永久在线制服丝袜| 成人老鸭窝人人在线视频| 国产无马av| 乱伦Av网| 亚欧日韩成人| 大香蕉黄色一级片免费看| 国产无码成人无码| 国产h小视频在线观看免费| 啊啊啊轻点在线观看| 色av中文字幕| 国产熟女精品区| 中文字幕55555| 理论久久婷婷网 8| 99色热| 国产精品视频精品一二| 人妻熟女av国产网站| 亚洲精品国产熟女| 尤物黄色在线观看网站| 1人人看人人摸人人操| 91天美| 中文字幕人妻丝袜乱一区三区| 熟女91网| 人妻人久久精品中文字幕| s片在线观看| 久久一二三四不卡 | 日本久久女同性恋视频| 精品综合久久久久久五月天| 日本操逼视频在线| 日日干天天干夜夜爽| 91人妻人人澡人人爽人人精品| 亚洲色图综合| 超碰国产精品久| 日韩性爱毛片操骚逼| 精品国产91内射久久| 日本成人A片网站| 精品成人无码| 天天色综亚洲91污| 九九九九精品在线| 欧美色图20P| 青青久久艹| 久久精品一区| 动漫av中文| 美女网站黄页| 91色欧美| 欧美 精品国产制服第一页| 亚洲欧美国产va在线播放频| 一级@啪啪视频| 乱伦图一区| 99久久久无码国产精品性男| 五月综合色| 中文字幕视频在线观看一区二区| 国产欧美日韩臀| 天欧美在线| 夜夜爽夜夜高潮夜夜爽| 成人97人人超碰人人| 岛国片国产成人亚洲播放| 717影院理论午夜伦八戒| 乱精品一区字幕二区| 亚洲棕合电彰| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 久久人| 国产日韩无码一区二区三区久久区| 欧美黄色片在线播放| 日本日皮视频逼| 精品免费1| 9 1超碰九色| 97干在线| 五月激情在线| 欧美女同在线| 国产精品白丝在线播放| 日韩欧美经典在线观看| 日本女厕偷拍| 大粗鳼巴久久久久| 日韩乱伦AⅤ| 91久青| 蜜桃AV天堂| 26uuu国产亚洲综合| 久久九九99| 97爱b| 久久中出| 人妻少妇色综合| 人妻无码久久一区二区三区免费| 熟女人妻一区二区三区免费看| 无码精品人妻一区二区三区妖精 | 后入式免费视频| 大香蕉一线视频| 女人一区| 国产精品直播在线观看直播| 噜噜噜噜天天狠狠| 日本二区不卡| 亚洲第2页| 啊操爽品善一区二区三区| 国产97在线 | 亚洲| 国产午夜无码片在线观看影视| 综合久草| 不卡av免费在线网址| www.狠狠| 久久香蕉国产线看观看亚洲女人| 91三级理论片播放器| 丝袜视频一区二区在线播放国产中文| 中文AV制服乱伦| 丝袜六区| 91精品国产91久久青草| 蜜桃成人1区2区3区| 天天舔日美女视频| 亚洲欧美经典一区二区| 亚洲 中文 欧美 日韩 在线| 综合操逼| 一区二区播放| 国产亚洲色婷婷久久99精品91| 日韩人人精品| 丁香六月啪啪| 国产精品不卡少妇白| 99综合免费视频| 91n处女在线观看| 91精品黄在线观看| 久草资源在线| 淫色网综合| 美女裸体无遮挡永久免费观看网站| 久久极品一区二区| 中文字幕在线免费观看2| ′ !γ}丶。。久久精品欧美一区二区三区 | 清纯唯美亚洲综合| 怡红院视频在线| 性91| 欧美日韩222| 国产精品高潮呻吟av久久4虎| 亚洲青青青视频在线| 国产真实子伦对白| 天天插夜夜爽| 国产原创剧情在线丝袜| 91熟女网| 熟女天天干| 久久综合亚洲色1080p| 97超碰色中文字幕| 五月综合色| 探花视频免费观看国产专区| 91福利网在线观看| 夜夜综合| 六月婷婷综合| 7777奇米影视久久| 国产乱码久久久| 玖玖视频在线资源一区二区三区| 内射老妇BBWX0C0CK| 亚洲熟女乱综合一区二区三区| 国产精品无码论坛| av中亚| 国产丰满少妇久久久精品影院| yellow网站免费观看日韩高清无码| 九九久久国产精品怡红院| 国模一区二区三区| 可以在线观看的黄色网址| 亚洲第一页综合在线| 熟女在线视频| 人、人、摸,人、人、草| 国产99999| 天天综合麻豆视频| 久久久亚洲精品电影免费看| 激情干在线| 日韩一级二级三级在线不卡观看完整| 女人的天堂大香蕉网| 99久热| 国产日韩区| 天天操天天舔| 啊啊啊啊好大好硬啊啊啊啊啊 | 亚洲自拍青操视频| 蜜臀亚洲中文| 欧美色五月| 亚洲天堂中文字| 欧美色亚洲| 91天美传媒在线观看| 骚逼高潮久久精品| 午夜性| 天天射天天色成人| 亚州色国| 五月天婷精品激情| 超碰99热中文字幕| 黄色av一区二区在线| 无码人妻1727| 岛国人妻少妇av在线观看| 国产sv美女内射| 青女偷拍网| 国产美女口爆吞精视频| 久久超碰亚洲人| 日本道不卡| 欧美日韩免费专区在线| 天天干干天天干干| 97看操| 色蜜AV| 日韩乱伦AⅤ| 日韩不卡av一二三| 欧美亚洲一级在线观看| 国产内射爽爽大片| 国产久久久久久| 97中文综合| 热热色AV| 性高潮久久久| 精品国产乱码久久久久久免费| 91欧美性| 夜夜操夜夜高潮夜夜爽国产精品区| 欧美韩国你懂得在线 | 欧美日韩第一页| 国产精品爽爽va在线观看98| 浪人综合网| 亚洲国产精品成人无码久久久| 久久国产乱子伦精品免费女人| 免费a级毛片av无码久久精品中文字幕| 探花视频免费观看国产专区| 囯产精品久久久久久久久久梁医生| 欧美激情专区| 天美传媒婬乱| 92性色国产午夜福利在线661| 国产精品人妻免费精品| 人妻性爱一区二区| 日韩中文字幕精品一区在线| 人妻 丝袜美腿 中文字幕| 国产一在线观看| www.99中文字幕| 天天干夜夜一操| 日本国产成人亚洲精品无码| 伊人AAA| 亚洲精品久久久久久久久豆丁网| 人妻一区二区三区| 亚洲精品1区| 97久久国产精品| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 精品九九| 亚洲欧美综合区自拍另类| 国产曰批免费观看久久久| 成人午夜小视频手机在线看| 久久精彩免费视频| 欧美天天谢综合网| 日日日日做夜夜夜夜做无码97| 视频二区美腿制服人妻欧美| 亚洲高清视频在线免费观看| 大香蕉久| 成人综合色网| 超碰97欧美日韩| 天天亚洲| 91东京热男人的天堂| 日韩A优精品在线观看| 久久免费精彩视频| 欧美亚洲AN| 东京热91| 国产欧美岛国精品一区| 开心五月婷婷| 校园春色综合香蕉| 国产精品久久久| 黄色网址在线免费观看| 亚洲欧洲偷拍一区| 欧美影音在线| 天天视频黄| 三级三久久线久久99久目本WW| 91狠狠综| 图片区小说区| 麻豆成人av| 欧美天天综合| 国产激情综合五月久久| 亚洲美女 晚间男人天堂 | 97超碰9| 国产高清MV操逼视频| 99色悠悠| 欧美写真视频一区| 日韩AV熟女乱伦| 大香蕉欧美国产日韩高潮| 亚洲国产熟妇综合色专区| 女同性恋久久| 日本高清加勒比| 久艾草在线精品视频在线观看| 五月综合色| 久久久91福利姬| 少妇人妻太紧太深av| 亚洲另类色图片| 中文视频在线观看| 国产精品一二三区福利| 风间由美日韩欧美久久| 欧美疯狂做爰xxxx| 91美女国产在线| 日本Xx性爱| 亚洲天堂人人妻| 人人操人人色人人摸| 强奸少妇AV导航网| 亚洲天天操| 99国内精品| 无码国产精品96久久久久孕妇| 欧美日韩成人在线| 久久超碰com| 91丝袜美女国产| 欧美日韩狠狠爱| 久久五月综合| 大香蕉综合网| 久久亚洲骚逼综合| 激情天天视频| 熟妇人妻一区二区三在线| 国产亚洲精品久久久久小| 美女大乳久久久久久久女人18| 日本孕妇一区二区视频操逼免费看 | 最新日日夜夜天天干干| 加勒比综合九九99视频在线播放| a亚洲欧美色欲| 另类亚洲图色| 久久国产热视频97电影| 日韩大香蕉精品在线视频| 成人八戒网站| 黄色工厂这里只有精品| 亚洲18禁| 嗯嗯嗯啊啊啊在线免费观看| 日日干天天干夜夜爽| 亚洲免费97免费| 亚洲精品影视老司机| 久草成人影片| 中亚精品极乱| 370p日韩欧美亚洲精品| 激情文学亚洲| 婷婷成人久久久精品| 国产女s强制榨精视频| 天天激色| 亚州伊人色综台| 黑人精品XXX一区一二区| 91久久久老司机| 国产一级片| 欧美gv在线观看| 久久人妻一区二区三区高清 | 香蕉99秘 一区精品蜜桃臀| 暖暖精品二区三区观看| 99re公开精品免费视频 | 人妻少妇一区二区| 天天干天天燥| 亚洲综合嫩| 欧美色图私拍91| 国产一区二区三区精品观看啪| 亚洲高清自拍| 超碰97在线色男人??| 日韩性色b| AV不卡在线| 久久这里只有精品9| 加勒比东京热五月天天堂网| 丁香五月成人| 丰满人妻无码一区二区三区| 97色香蕉| 日本顶级天天操狠狠操夜夜操中文字幕| 色噜噜狠狠色综合日日| 欧美亚洲一级在线观看| 色97干| 国产人妻精品一区二区三区秋霞| 日韩国产品视频中文字| 强奸乱伦大香蕉网| 欧美性爽xyxOOOO| 综合亚洲网| 九区国产| 国产传媒美日韩av| 亚洲丝袜色| 久久婷婷综合国际产色怕| 欧亚无码视频| 97手机日韩| 久久久月天| 九九九九九精品十六| 4141514逼喷水三级片| 午夜男女爽爽爽在线视频| 欧美日韩电影成人在线| 97色碰| 色臀AV| 四虎影视国产精品| 粉嫩av一区二区三区四季| 亚洲大色堂| 夫妻四区五区六区| 天美国产三级传媒| 久久久久久久久久久久97| 黑人精品久久97| 96免费视频在线| 日韩AV色图| 国产伦精品免编号公布| 97超碰国产精品| 欧美色五月| 久操操| 97在线视频观看| 丁香五月天堂| 日韩三级视频一区二区三区| 激情深爱五月天| www.色五月| 好吊妞转入那个网| 亚洲丝袜色| 欧美人妻精品| 久久久久9久久久久| 夜夜操天| 宅男午夜在线视频| 密臀在线免费观看| 国产精品色哟哟| 男生女生啊啊啊啊| 九九九九欧美| 中出人妻中文字幕91在线| 国产乱不卡| 97伦综合| 一区二区乱码福利| 自拍偷拍国产欧美日韩韩| 久久久久久久伊人精品| 99热99在线播放激情| 日本操BAV| 五月丁香啪啪网| 欧美日不卡| 综合亚洲情色| 亚州色图片在线色| 国内毛片四区| 中国人高清www色视频免费| 人人么人人操| 亚洲精品人妻在线| **一级毛片国产| 精品视频久久久久九九九九9999| 日本天天人人狠狠在线日美女| 午夜久久一区二区无码中出| 久久999久| 怡红院网站在线视频| 亚洲狠| 狠狠色伊人亚洲综合网站色| 亚洲精品无码久久AV| 亚洲图片偷拍视频区| 人妻少妇精品一区二区三区| 欧洲Au麻豆| 加勒比东京热五月天天堂网| 精品国产a∨一区天美传媒| 精品视频一区二区| 免费簧片在线观看| 殴美牲| 少妇人妻激情四射| 超碰色综合| 日本高清_区二区三区| 超碰久热| 中 文字幕一区二区三四 五 区日 日 骚 | 欧美伊人电影| 影音先锋少妇| 丁香激情五月| 九一性生活免费视频| 久操97| 怡红院一区二区熟女人妻| 久九干| 女人香蕉久久毛毛片精品| 一级岛国大片| 久青草影院| 囯产精品强| 国产午夜精品理论片一二三区区| 国产色呦呦| 亚洲国成人情色好看电影| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 久久国产性爱| 真实高潮91| 清纯唯美综合| 亚洲操逼无码| 91天天c| 综合伊人网12色| 精品 码产区一区二-1080P高清在线www-B029AV| 在线观看A啊啊啊| 91亚州| 99在线免费视频| 久操视频在线| AV不卡在线| 欧美老妇女内射网址| 欧美美女视频| 丁香五月天堂网| 人妻 欧美亚洲| AV污污污污| 大香蕉欧美国产日韩高潮| 17c嫩草51久久91嫩草| 99热色精品| 乱人乱色一区二区三区免费| 日本一区二区成人在线| www.AV有限公司一区| 欧美精品成人一区二区在线观看 | 思思热影视| 77777亚洲蜜臀精品久久综合蜜臀| 日韩BBN| 日本道久久综合色色| 久操影视| 岛国艾薇凹凸视频天堂| 欧美熟女丝袜| 精品日韩中文在线| 亚洲第91页 | 国产乱码久久| 97综合久久| 男人天堂.AB| A级国产欧美激情在线| 美女露胸露屁股| 男人的天堂 在线一区| 乱精品一区字幕二区| 欧美高清第一页| 精品四五区| 黄片免费日韩| 97色诱| 波多野结衣被操50分钟免费视频| 大香网伊人久久综合网eew| 亚洲国产91精品一区二区久久| 97久久精品国产| 欧美一级国产一级| 啊啊啊在线看| 婷婷久久网| 91n欧美| 国产13区| 日韩亚洲国产视频| 中文字幕国产| 麻豆蜜桃视频在线观看| 91被操| 加勒比海成人视频网 | 亚洲在线综合| 伊人97超碰| 亚洲国产91精品一区二区久久| 久偷拍欧美日韩三区| 日本精品一区二区中文字幕| 久久粉色| 美女AV一区二区| 亚洲色图殴美色图激情乱伦| 91亚洲网站| 色诱中文字幕| 久久香蕉国产线看观看猫咪av| 无码人妻一区二区三区四区老鸭窝| 熟妇熟女亚洲天堂网| 久久精品久久久久久久久| 91丝袜美腿片| 青草视频在线看看看看看看看看看| 亚洲人天堂| 蜜桃久久精品一区二区三区| AAA久久| 日韩一级久久毛片| 日韩二区三四区五区六区在线看| 丁香五月影院| 草草影院最新网址| 91精品久久久久| 欧美97在线观看| 久久久网站| 日本1区2区不卡视频| 成人开心网在线视频| 国产原创精品| 欧美性爱精品一区二区| av网站国产主播在线| 青青草一区二区三区四| 精品国产网站| 日本网色| 秋霞成人做爱| 91精品国产综合久久久蜜臀酒店| 一级黄碟在线看| 天美传媒AV在线播放| 亚洲视频二区| 北京专精特新企业招聘信息| 国产强奸超碰AV| 欧美一二三级精品在线| 亚洲Av诱惑| 九九九精品一区二区无码| 激激五月| 91五月天| 8050午夜少妇无码| 午夜.DJ高清在线观看免费7| 上特色A在线| 亚洲猛交| 情色五月天就去干| 欧美青青视频| 99热精品青草在线 | 欧美 日韩第一性色| 欧美 亚洲 另类 综合| 刺激性视频黄页| 九九九九久久久| 综合色图区| 最新日产中文在线麻豆| 老熟女搡BBBB搡BBBB视频| 久九九九| 麻豆成人AV| 97久久久网站| 啊啊啊骚| 高颜值美女口爆高潮浪叫| 91劲爆| 九九九九97| 操曰本熟女| 天天摸天天舔天天操| 亚洲天堂自拍| 日日夜夜国产综合| 99在线观看无大码| 5252色欧美在线| 国产久久视频| 四虎视频在线观看| 五月天色电影| 91欧美美女日韩国产婷婷| 吉川爱美98堂在线| 欧美爆操91| 夜夜騷av、一區二區| 色婷婷综合久久久久中文一区二区| 日韩情色视频| 欲色影视综合吧| 日日夜夜国产综合| 中文字幕十五区| 人妻少妇色综合| 99热日| 国产夫妻性生活视频| 国际精品久久久| 亚洲男人天堂AV| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 国产在线激情| 色图综合| 日韩av在线精品观看| 日婷婷| 亚洲成人一区二区精品| 免费毛片在线播放| 欧美夜夜狠| 91欧美偷拍| 国产第11页| 精品人妻久久久| aV中亚| 天天色,天天干,天天干| 欧洲熟妇xxXx欧美老妇裸体 | 99人妻| 日日夜夜精品| 深夜激情无码| 国产一区96在线| 久久做97| 九九九九九九免费视频| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 色逼综合| 无码人妻精品一区二区中文| 国产av美女被艹的乱叫| 日本大片日本一区二区免费高清| 久久25| 91亚.色| 看全色黄大色大片免费视频| 新久久AV| 少妇一线天久久久久久| 天操老女人| 亚洲黄色电影| 日韩精品色呦呦| 亚洲av无码成人精品国产| 99999精品成人| 91激情国产| 日韩一级久久毛片| 午夜男女爽爽爽在线视频| 国产伦精品免编号公布| 天天拍天| 91精品人妻偷情| 国产精品成人无码av| 欧美日韩淫加| 精品十八在线观看| 精品久久久久久中文字幕三区 | 久久婷婷一区| 午夜无遮挡男女啪啪视频| 六月婷婷色综合| 91欧美性| 中国AAAAAA黄色片| 99色热| 天天射夜夜| 久久国产在线一区二区| 色人久久| 中文字幕伊人| 操人人| 久久啊哟| 天堂性色| 精品国产一级久久| 新视频sss国产| 午夜舔阴达高潮视频免费看| 99久久久久| daxiangjiao你懂的| 91在线精品一区二区三区| 色色无码| 91操熟女视频| 一级A片女人高潮叫床| 粉嫩少妇自慰在线| 极品销魂美女一区二区 | 天天综合网在线91| 久久精品国产亚洲AV无码电影| 亚洲日韩青青草色月| 久久老女人| 日本三级韩三级99久久| 日韩精品三级| 亚欧高清v| 超碰97资源网亚洲| 欧美日韩在线国产在线| 97看操| 中文字幕日韩电影人妻| 97干色天堂| 免费精品国偷自产在线在线 | 大香蕉中文在线| 久99热| 欧美啪啪啪91| 日本久久精品| 久操免费观看| 天天操狠狠日夜夜干超碰撸com视频在线观看| 久久熟女嫩草成人片免费| 亚洲人妻中文高清| 欧洲大香蕉| 日韩一级欧美一级在线观看| 欧美性视频二区三区| 国产一区二区三区导航| 婷婷久草| 国产免费一区在线观看| 国产日韩怡红院| 色欧美天天| 国产粉嫩蜜臀av一区二区三区| 欧美日韩人人精品| 看免费的黄片| 天天综合网~91综合网| 国产三区免费在线观看| 蜜桃香蕉久草精品在线| 99爱爱| 精品国产乱码久久| 亚洲97P| 加勒比在线视频一区二区三区| 亚洲AV在线资源| 91性高潮久久久久久久久| 欧美97网| 日韩熟女精品无码专区一区二区| 久久久精品电影| 国产丸一视频| 五月色综合| 免费中文综合精品| 亚洲熟女一区| 超碰AV在线| 日本影视久久免费| 欧洲与亚洲欧美精品中文字幕| 欧美亚洲尤物久久| 美女91网址 | 久久久久久亚洲Av无码| 蜜臀aV午夜一区二区三区| 99综合视频| 亚洲国产成人7777| 亚欧洲一区二区视频| 99激情视频| 久久精品福利影院| 久久9免费视频| 91九久| 一区二区三区 日韩欧美| 老司机香蕉久久久久| av在线人气| 国产一区二区三区影片| 天天看天天日天天操| 在线小视频| 偷拍欧美激情| 久久久久久国产无码精品| 一起草视频在线| 国产乱人妻精品入口| 97精品综合| 亚洲最新av无码成人精品区| 亚洲欲色| 青青草久草AV| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 在线视频 亚洲精品| 97视频新免费| 精品国产网站| 亚洲黄色影视| 亚洲一区二区三区中文字幕| av天堂电影网| 超碰97综合网| 成人在线视频一区| 久久色人体| 91GD.COM| 欧美日本中字另类在线| 97国产精品| 久久三区四区| 97精品网站| 精品小视频在线| 精品福利视频| 99色色网| 久久性爱大全| 精品人妻一区| 日韩免费三级黄片电影| 国产精品夜夜| 欧洲亚洲人妻无码久久三区四区| 嫩草影院永久在线制服丝袜| 日本少妇va7777| 天天影视综合网欧美精品| 国产99 中文字幕日韩小视频| 亚洲91在线播放影院| 免费视频在线一区二区不卡| 1区2区3区视频| 久久精品超碰| 激情婷婷黑人91| 在线电影亚洲色图| 精吧天堂| 偷拍色图| 情色五月天网| 性爱欧美五月| 超碰天天久久79| 亚洲欧美日韩有码| 九一屌逼| 偷拍亚洲高清图片| 人妻在线臀日韩| 日本天天人人狠狠在线日美女| 人妻熟女字幕一区二区| 激情小说五月天| 婷婷啪啪| 亚洲欧美大香蕉| 资源在线观一 二| 久久久久成人蜜桃精品| 久久一二三四五六七八九区区区| 超碰在线人妻| 综合久久99| 久久超碰爱| 婷婷成人久久久精品| 骚乳在线| 久久久久ab| a片亚洲一本通视频| 久久99深爱久久99精品| 中文熟女五十乱码在线| 亚洲极品| 亚洲成人AB| 天天综合官网| 九九九久久久| 午夜福利一区二区影院| 午夜福利激情在线视频| 岛国网址国产| 国产高清无码一区二区三区四区皇冠| 亚卅熟女乱色|