• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            飯中淹的避難所~~~~~

            偶爾來避難的地方~

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              94 隨筆 :: 0 文章 :: 257 評(píng)論 :: 0 Trackbacks

            首先,二話不說,上圖(用Windows畫圖畫的。。。)


            這個(gè)圖是一個(gè)區(qū)的架構(gòu)圖,所有區(qū)的架構(gòu)是一樣的。上面虛線框的ServerGroup和旁邊方框內(nèi)的架構(gòu)一樣。圖上的所有x N的服務(wù)器,都是多臺(tái)一起的。紅線,綠線,和藍(lán)線圖上也有圖示,這里就不多介紹了。關(guān)于Agent Server大家也能看出來,其實(shí)就是Gate。
            這里主要介紹下圖上的標(biāo)記了號(hào)碼的位置的數(shù)據(jù)連接的內(nèi)容和意義。

            1-   這是一條WebService的管道,在用戶激活該區(qū)帳號(hào),或者修改帳號(hào)密碼的時(shí)候,通過這條通道來插入和更新用戶的帳號(hào)信息。
            2-   這也是一條WebService管道,用來獲取和控制用戶該該組內(nèi)的角色信息,以及進(jìn)行付費(fèi)商城代幣之類的更新操作。
            3-   這是一條本地的TCP/IP連接,這條連接主要用來進(jìn)行服務(wù)器組在登陸服務(wù)器的注冊(cè),以及登陸服務(wù)器驗(yàn)證帳戶后,向用戶服務(wù)器注冊(cè)帳戶登陸信息,以及進(jìn)行對(duì)已經(jīng)登陸的帳戶角色信息進(jìn)行操作(比如踢掉當(dāng)前登陸的角色),還有服務(wù)器組的信息更新(當(dāng)前在線玩家數(shù)量等)。
            4-   這也是一條本地TCP/IP連接,這條連接用來對(duì)連接到GameServer的客戶端進(jìn)行驗(yàn)證,以及獲取角色數(shù)據(jù)信息,還有傳回GameServer上角色的數(shù)據(jù)信息改變。
            5-   這條連接也是一條本地的TCP/IP連接,它用來進(jìn)行公共信息服務(wù)器和數(shù)個(gè)游戲服務(wù)器間的交互,用來交換一些游戲世界級(jí)的信息(比如公會(huì)信息,跨服組隊(duì)信息,跨服聊天頻道等)。
            6-   這里的兩條連接,想表達(dá)的意思是,UserServer和GameServer的Agent是可以互換使用的,也就是玩家進(jìn)入組內(nèi)之后,就不需要再切換Agent。如果不怕亂套,也可以把登陸服務(wù)器的Agent也算上,這樣用戶整個(gè)過程里就不需要再更換Agent,減少重復(fù)連接的次數(shù),也提高了穩(wěn)定性。(畢竟連接次數(shù)少了,也降低了連不上服務(wù)器的出現(xiàn)幾率)

            在這個(gè)架構(gòu)里面,GameServer實(shí)際上是一個(gè)游戲邏輯的綜合體,里面可以再去擴(kuò)展成幾個(gè)不同的邏輯服務(wù)器,通過PublicServer進(jìn)行公共數(shù)據(jù)交換。
            UserServer實(shí)際上扮演了一個(gè)ServerGroup的領(lǐng)頭羊的角色,它負(fù)責(zé)向LoginServer注冊(cè)和更新服務(wù)器組的信息(名字,當(dāng)前人數(shù)),并且對(duì)Agent進(jìn)行調(diào)度,對(duì)選擇了該組的玩家提供一個(gè)用戶量最少的Agent。同時(shí),它也兼了一個(gè)角色管理服務(wù)器的功能,發(fā)送給客戶端當(dāng)前的角色列表,角色的創(chuàng)建,刪除,選擇等管理操作,都是在這里進(jìn)行的。而且,它還是一個(gè)用戶信息的驗(yàn)證服務(wù)器,GameServer需要通過它來進(jìn)行客戶端的合法性驗(yàn)證,以及獲取玩家選擇的角色數(shù)據(jù)信息。


            采用這種架構(gòu)的游戲,通常有以下表現(xiàn)。
            1- 用戶必須激活一個(gè)大區(qū),才能在大區(qū)內(nèi)登陸自己的帳號(hào)。
            2- 用戶啟動(dòng)客戶端的時(shí)候,彈出一個(gè)登陸器,選擇大區(qū)。
            3- 用戶啟動(dòng)真正的客戶端的時(shí)候,一開始就是輸入帳號(hào)密碼。
            4- 帳號(hào)驗(yàn)證完成之后,進(jìn)行區(qū)內(nèi)的服務(wù)器選擇。
            5- 服務(wù)器選擇完成之后,進(jìn)入角色管理。同時(shí),角色在不同的服務(wù)器里不能共享。

            市面上符合上面幾個(gè)表現(xiàn)特征的游戲相當(dāng)?shù)亩?,而且也不乏曠世巨作。這個(gè)架構(gòu)不是一個(gè)新的架構(gòu),但是它足夠經(jīng)典和完善,并且邏輯簡單而清晰,用來做MMORPG,或者其它網(wǎng)絡(luò)游戲的服務(wù)器架構(gòu),是一種不錯(cuò)的選擇。

            posted on 2008-04-10 19:14 飯中淹 閱讀(31488) 評(píng)論(35)  編輯 收藏 引用

            評(píng)論

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-10 21:24 Kevin Lynx
            飯叔叔關(guān)于服務(wù)器架構(gòu)的文章,收藏加細(xì)讀.:D  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-11 08:44 夢在天涯
            圖畫的很好!  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-11 13:34 xiaolige
            能上點(diǎn)bigworld等單一世界的服務(wù)端架構(gòu)嗎,期待ing  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-11 13:43 Bugs
            已閱  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu)[未登錄] 2008-04-11 14:42 noname
            和SunOnline(奇跡世界)的架構(gòu)差不多啊  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-12 15:21 dophi
            有收獲  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-13 18:25 杜中偉
            我想以后會(huì)需要,頂,以后能找到了.  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-16 09:43 alittlewolf
            有幾個(gè)問題:
            (1) Public Server是否會(huì)成為瓶頸呢?
            (2) User Server壓力會(huì)不會(huì)過大?
            (3) Login Server是不是也要考慮分布式?
            (4) Group DB是通過何種方式保證性能? 分布式數(shù)據(jù)庫? 引入高價(jià)的存儲(chǔ)設(shè)備?  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-16 09:46 alittlewolf
            另外一個(gè)不解的地方是, 為什么所有Server前面都放著Agent Server? 從安全性方面考慮? 告別Game Server Group前面的Agent Server Group, 望解釋.  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-16 09:47 alittlewolf
            另外一個(gè)不解的地方是, 為什么所有Server前面都放著Agent Server? 從安全性方面考慮? 特別是Game Server Group前面的Agent Server Group, 望解釋.   回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-04-16 09:59 飯中淹
            @alittlewolf
            (1) 每組承載量,一般是10000人左右。在目前主流服務(wù)器硬件條件下,PublicServer為這些人做服務(wù)是輕松的。
            (2) UserServer 沒有太大壓力,只是做為一個(gè)驗(yàn)證平臺(tái),角色管理的資源消耗也不大,這個(gè)在實(shí)際中已經(jīng)驗(yàn)證過了。
            (3) LoginServer 沒什么必要分布式,雖然一般登陸的壓力比較大,但是對(duì)于一個(gè)組來說,登陸驗(yàn)證都是消耗最小的一個(gè)操作,沒有長期壓力。而且它的硬件條件也是比較好的,所以不用分布式的,那樣會(huì)增加整個(gè)系統(tǒng)的復(fù)雜性。
            (4) 一般這種架構(gòu)下,GroupDB和UserServer之間會(huì)做一個(gè)Cache,杜絕頻繁的數(shù)據(jù)庫讀寫。處于安全性和性能考慮,可以選擇帶有集群功能的數(shù)據(jù)庫。不過從成本出發(fā),一般是單臺(tái)的DB服務(wù)器,一個(gè)庫搞定。

            (5) Agent是用來進(jìn)行用戶過濾,分流和調(diào)度的。同時(shí)也是出于安全性考慮。另外也是為了降低后臺(tái)服務(wù)器的壓力。而且用Agent可以實(shí)現(xiàn)很多比較效率的處理方式。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-06-16 20:12 Hellfire
            目前主流的mmo應(yīng)該都是這種架構(gòu),足夠用了。關(guān)鍵點(diǎn)在一個(gè)agent,
            安全性,負(fù)載均衡, 后臺(tái)服務(wù)的屏蔽,都有保障了。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-13 11:43 非風(fēng)
            一些疑問,希望得到博主的解答:

            PublicServer要完成跨服組隊(duì)信息,跨服聊天頻道功能,那么它不應(yīng)該放置在方框中,不能屬于特定的組中,因?yàn)樗€需要和其他組交換數(shù)據(jù)。

            ControlAndDataCenter的功能是什么?是不是它僅僅就是一個(gè)DB 中心,全國所有區(qū)域服務(wù)器的一個(gè)數(shù)據(jù)中心,區(qū)域服務(wù)器從它拿玩家的帳號(hào)信息?
            如果是UserServer為什么要連接它,前面在激活時(shí)候所有數(shù)據(jù)已經(jīng)獲取到了AreaDB中?


            AreaDB僅僅是一個(gè)DB它如何通過○1 向ControlAndDataCenter要數(shù)據(jù)?

              回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-13 11:54 飯中淹
            1- PublicServer是組內(nèi)跨服組隊(duì)和聊天,也就是在一個(gè)服務(wù)器名字下面的跨服.這里跨服是物理服.

            2- 控制和數(shù)據(jù)中心的功能是提供數(shù)據(jù)推送和信息收集,以及服務(wù)器狀態(tài)控制.
            他和userserver進(jìn)行通信,是為了進(jìn)行數(shù)據(jù)更新,信息收集和狀態(tài)控制,在2的說明里已經(jīng)提到了。

            3- 這里面的所有db都不是單純的一個(gè)數(shù)據(jù)庫,而是一套稱為dbproxy或者dbagent的東西,它有邏輯處理能力。
            但是,它不會(huì)向數(shù)據(jù)中心要數(shù)據(jù)。在我的設(shè)計(jì)里,數(shù)據(jù)中心是請(qǐng)求者,而非被請(qǐng)求者。所有數(shù)據(jù)更新的發(fā)起者都是數(shù)據(jù)中心,因?yàn)樗杏脩粜畔⒌男薷亩荚谶@里進(jìn)行。AreaDB只是被動(dòng)的接受數(shù)據(jù)中心的數(shù)據(jù)更新,而不向數(shù)據(jù)中心要數(shù)據(jù)。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 11:02 laofu
            一組服務(wù)器10000人,現(xiàn)在一般不怎么火的游戲一組能上2000就不錯(cuò)了,這么龐大的一組服務(wù)器不會(huì)造成成本很高么  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 11:32 飯中淹
            因?yàn)楦鱾€(gè)服務(wù)器的邏輯都是分開的,所以可以有選擇的靈活部署,這樣可以根據(jù)實(shí)際情況有效的節(jié)約成本.  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 14:53 非風(fēng)
            @飯中淹
            多謝樓主解答,不過還是有一些疑問,我說一下自己對(duì)這個(gè)架構(gòu)的理解。
            從用戶登錄開始,用戶登錄連接網(wǎng)關(guān),發(fā)數(shù)據(jù)到loginserver校驗(yàn)賬戶密碼,如果areaDB中沒有賬戶信息,向數(shù)據(jù)中心要賬戶密碼,插入areaDB,以后校驗(yàn)賬戶就可以直接在區(qū)域DB中做了,如果賬戶密碼校驗(yàn)成功,發(fā)送本區(qū)的組列表給客戶端,玩家選擇某個(gè)服務(wù)器,login獲取生成一個(gè)key發(fā)給userserver,同時(shí)把key發(fā)給客戶端以及一個(gè)網(wǎng)關(guān)的ip端口,客戶端使用其連接,發(fā)送key到Userserver,比對(duì)key,非法踢掉客戶端連接,合法userserver向數(shù)據(jù)中心獲取賬戶詳細(xì)信息,比如賬戶上剩余點(diǎn)卡等,同時(shí)向GroupDB獲取本組中的自己的角色,得到這些信息都發(fā)給客戶端,客戶端選擇一個(gè)角色進(jìn)入游戲,userserver從數(shù)據(jù)庫讀取該角色的完全信息,根據(jù)玩家之前的位置確定進(jìn)入那個(gè)gameserver(我認(rèn)為游戲服務(wù)器是根據(jù)地圖劃分的,不知道對(duì)不對(duì)?),角色數(shù)據(jù)傳到gameserver,同時(shí)客戶端根據(jù)這些數(shù)據(jù)進(jìn)入場景,gameserver得到信息同時(shí)告知publicserver(publicserver連DB做什么?我猜測可以獲取工會(huì)以及工會(huì)成員信息,對(duì)否?)


              回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 16:51 飯中淹
            @非風(fēng)
            是的,差不多的.
            不過我不會(huì)讓AreaDB去數(shù)據(jù)中心請(qǐng)求數(shù)據(jù)。
            我在上面說的是,只有用戶進(jìn)行激活,才會(huì)把用戶資料放到AreaDB

            而且點(diǎn)卡都是按照Area來沖值的。

            所有的游戲需要的資料都在Area本地提供,不會(huì)向數(shù)據(jù)中心請(qǐng)求數(shù)據(jù)。
              回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 17:52 laofu
            向數(shù)據(jù)中心請(qǐng)求數(shù)據(jù)的話,在剛開區(qū)的時(shí)候數(shù)據(jù)中心壓力肯定很大  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 18:13 非風(fēng)
            @飯中淹
            明白,官網(wǎng)提供功能,玩家自己到官網(wǎng)激活,完成數(shù)據(jù)中心到區(qū)域數(shù)據(jù)的轉(zhuǎn)移。充值自己選區(qū),數(shù)據(jù)中心把數(shù)據(jù)更新到相應(yīng)的areaDB中,這樣避免很多程序問題。

            另外userserver和數(shù)據(jù)中心的數(shù)據(jù)交換是不是會(huì)是這個(gè)架構(gòu)的瓶頸?玩家登入登出都需要userserver和數(shù)據(jù)中心交換數(shù)據(jù),而數(shù)據(jù)中心一定是在外網(wǎng),而且所有區(qū)唯一,象網(wǎng)易同時(shí)在線上百萬,數(shù)據(jù)中心承受的壓力相當(dāng)大,會(huì)很影響性能吧?盡管這個(gè)連接是短連接。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-08-15 18:17 飯中淹
            @非風(fēng)

            玩家登入登出,userserver不需要和數(shù)據(jù)中心交換數(shù)據(jù).

            數(shù)據(jù)中心只是查詢和收集服務(wù)器信息或者個(gè)人信息的時(shí)候才需要和userserver進(jìn)行交互。

            玩家的角色信息都是保存在GroupDB里面的。
              回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-09-04 11:03 XiaoA
            @飯中淹

            其實(shí)對(duì)Agent的作用還是很不解.首先從走路來說, pc--->發(fā)送走路到agent,agent--->將消息轉(zhuǎn)發(fā)到gameserver--->gameserver

            感覺這時(shí)候有問題了.gameserver是不是要廣播到所有的agent?然后agent在通知所有的人? 還是在gameserver紀(jì)錄一個(gè)用戶的agent,先產(chǎn)生哪些用戶需要接收這個(gè)人的消息,然后再直接通知這些用戶所在的agent,agent再通知pc,pc實(shí)現(xiàn)行走?

            另外,這樣是不是會(huì)加大網(wǎng)絡(luò)延時(shí)?這樣對(duì)技能的冷卻時(shí)間是不是有很高的要求?  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-09-27 14:42 非風(fēng)
            game可以根據(jù)消息號(hào)作處理了,agent僅僅是個(gè)門,負(fù)責(zé)進(jìn)出  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-12-25 17:18 minus
            結(jié)構(gòu)太過復(fù)雜,沒有必要  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2008-12-25 17:26 minus
            把橫向的連接都去掉,6也去掉簡潔多了,也合理多了  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2009-04-08 17:53 似水流年
            提個(gè)問題:Game Server間是否進(jìn)行直接通信。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2009-06-09 17:10 liquidx
            可以來我博客看看  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2009-12-19 11:55 zxl3d
            首先肯定樓主的架構(gòu)很強(qiáng)大,但Agent過于復(fù)雜,是否可以不要。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu)[未登錄] 2010-12-30 00:01 by
            @zxl3d
            Agent不可不要,因?yàn)橹饕窟@個(gè)保持架構(gòu)靈活性。  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2011-01-01 16:16 dynas
            如何知道玩家在哪個(gè)gameServer上,agent保存了玩家位置信息?  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2011-01-01 16:25 dynas
            還是UserServer保存了玩家位置,每次gate收到客戶端消息,先發(fā)送到UserServer,根據(jù)里面保存孤玩家位置,中轉(zhuǎn)到所在GameServer?  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2011-04-28 15:28 dfdf
            人才呀!  回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu)[未登錄] 2011-06-19 10:28 King
            飯哥,請(qǐng)教一個(gè)問題。 你說Agent Server是Gate,這個(gè)是哪種類型的網(wǎng)關(guān),是怎么實(shí)現(xiàn)的?   回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu)[未登錄] 2011-06-21 09:38 飯中淹
            @dynas
            玩家位置,在userserver上有記錄。
            agent上有客戶端和gameserver建立的繪畫映射,不需要再經(jīng)過userserver中轉(zhuǎn)
            @King
            純轉(zhuǎn)發(fā)型網(wǎng)管。順帶有加密和解密的工作。
              回復(fù)  更多評(píng)論
              

            # re: 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) 2014-03-12 11:02 mikie
            學(xué)習(xí)了 make一下  回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            中文字幕精品久久| 91精品国产91热久久久久福利| 久久久久亚洲AV无码专区首JN | 久久久受www免费人成| 伊人久久大香线蕉成人| 国产婷婷成人久久Av免费高清| 久久久久久久国产免费看| 久久亚洲精品成人av无码网站| 国产午夜精品理论片久久| 日韩AV无码久久一区二区| 久久久WWW成人免费毛片| 久久婷婷国产综合精品| 久久久综合香蕉尹人综合网| 狠狠色婷婷久久一区二区三区| 一本色道久久88综合日韩精品| 99久久婷婷免费国产综合精品| 精品多毛少妇人妻AV免费久久| 国产精品久久久久一区二区三区 | 久久精品国产精品亚洲艾草网美妙| 偷偷做久久久久网站| 久久免费国产精品| 久久青草国产手机看片福利盒子 | 国产精品久久久久乳精品爆| 久久久久久亚洲精品成人| 久久无码专区国产精品发布| 久久久久国产视频电影| 欧美激情精品久久久久| 国内精品久久久久久99蜜桃| 久久久久久国产精品免费无码 | 91精品国产9l久久久久| 午夜欧美精品久久久久久久| 久久久久久亚洲精品影院| 怡红院日本一道日本久久| 99久久精品毛片免费播放| 国产高潮国产高潮久久久| 2020久久精品国产免费| 久久精品人人做人人爽97| 国产成人精品免费久久久久| 久久A级毛片免费观看| 国内精品久久久久伊人av| 久久香蕉综合色一综合色88|