999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ACE框架在網(wǎng)絡(luò)游戲服務(wù)器中的設(shè)計(jì)與應(yīng)用

2008-04-12 00:00:00萬(wàn)旺根
現(xiàn)代電子技術(shù) 2008年8期

摘 要:由于操作系統(tǒng)及通信平臺(tái)的多樣性,通信軟件開(kāi)發(fā)者往往要面對(duì)諸多問(wèn)題,而利用軟件設(shè)計(jì)模式能夠幫助開(kāi)發(fā)者成功完成任務(wù)并開(kāi)發(fā)出高性能的通信軟件。介紹ACE框架在通信領(lǐng)域中的面向?qū)ο蟮脑O(shè)計(jì)模式以及使用ACE框架構(gòu)建通信系統(tǒng)軟件所帶來(lái)的優(yōu)勢(shì),并提出了一種網(wǎng)絡(luò)服務(wù)器架構(gòu)以及基于模塊設(shè)計(jì)服務(wù)器系統(tǒng)軟件的思想。最后結(jié)合具體應(yīng)用,詳細(xì)講述如何利用ACE中的若干設(shè)計(jì)模式及組件框架進(jìn)行網(wǎng)絡(luò)服務(wù)器通信底層模塊的設(shè)計(jì)和實(shí)現(xiàn)。

關(guān)鍵詞:自適配通信環(huán)境;中間件;網(wǎng)絡(luò)服務(wù)器系統(tǒng);設(shè)計(jì)模式

中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1004-373X(2008)08-153-04

Design and Application of ACE Framework in Networked Game Server

TAO Dao,WAN Wanggen

(School of Communication and Information Engineering,Shanghai University,Shanghai,200072,China)

Abstract:Due to difference of hardware and diversity of communication system,developers of communication software have to face many problems.Those problems can be solved by using software design pattern and programmers are easier to develop highperformance communication software.This paper introduces the OO design pattern of ACE framework in communication and its advantage.It also puts forward an idea of networked server architecture and modularization design in software.At last this paper illustrates how we use the design pattern and the module of the ACE framework to design the basic communication module of our game networked game server software.

Keywords:adaptive communication environment;middleware;network server system;design pattern

隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,特別是因特網(wǎng)的出現(xiàn),數(shù)字娛樂(lè)和網(wǎng)絡(luò)游戲產(chǎn)業(yè)得到了蓬勃的發(fā)展,異軍突起的網(wǎng)絡(luò)游戲成為中國(guó)網(wǎng)絡(luò)產(chǎn)業(yè)中的先鋒。而由于信息技術(shù)的進(jìn)步,計(jì)算機(jī)、手機(jī)以及不同的傳媒終端等不斷涌現(xiàn),如何將這些眾多不同的終端通過(guò)互聯(lián)網(wǎng)進(jìn)行互聯(lián)互動(dòng)成為一大技術(shù)難點(diǎn),而這些難點(diǎn)的突破取決于網(wǎng)絡(luò)游戲服務(wù)器的開(kāi)發(fā)。目前在各種服務(wù)器通信軟件的設(shè)計(jì)和開(kāi)發(fā)中,已經(jīng)廣泛地使用到軟件設(shè)計(jì)模式。尤其在大型的服務(wù)器通信軟件開(kāi)發(fā)中常會(huì)采用模塊化設(shè)計(jì)。當(dāng)一個(gè)龐大的服務(wù)器系統(tǒng)執(zhí)行任務(wù)時(shí),往往要通過(guò)其中不同的模塊進(jìn)行協(xié)作完成,在這種情況下各機(jī)間的數(shù)據(jù)通信會(huì)變得異常繁瑣和復(fù)雜。另外不同操作系統(tǒng)通信機(jī)制的不同也會(huì)影響通信軟件的開(kāi)發(fā)和效率,網(wǎng)絡(luò)編程人員通常從底層進(jìn)行開(kāi)發(fā),這大大增加了軟件開(kāi)發(fā)的難度和周期。針對(duì)以上存在的問(wèn)題,ACE自適應(yīng)通信構(gòu)架給出了良好的解決方案,ACE能夠跨越多種操作系統(tǒng)平臺(tái),可進(jìn)行通用的網(wǎng)絡(luò)編程任務(wù),并結(jié)合軟件設(shè)計(jì)模式[1],避免了通信軟件根據(jù)不同環(huán)境需要重新開(kāi)發(fā)的弱點(diǎn),減少了軟件開(kāi)發(fā)的周期和資金,簡(jiǎn)化和強(qiáng)化了系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。

1 ACE框架

ACE自適應(yīng)通信環(huán)境(ADAPTIVE Communication Environment)[2]是可以自由使用、開(kāi)放源碼的面向?qū)ο螅∣O)框架(Framework),在其中實(shí)現(xiàn)了許多用于并發(fā)通信軟件的核心模式。ACE提供了一組豐富的可復(fù)用C++ Wrapper Facade(包裝外觀)和框架組件,可跨越多種平臺(tái)完成通用的通信軟件任務(wù),其中包括:事件多路分離和事件處理器分派、信號(hào)處理、服務(wù)初始化、進(jìn)程間通信、共享內(nèi)存管理、消息路由、分布式服務(wù)動(dòng)態(tài)(重)配置、并發(fā)執(zhí)行和同步等。ACE體系結(jié)構(gòu)[3]包括3個(gè)基本層次:操作系統(tǒng)適配層、C++包裝層、框架組件層。操作系統(tǒng)適配層直接駐留在用C寫(xiě)成的本地OS API之上,將ACE中的其他層與OS API 相關(guān)聯(lián)的平臺(tái)專有特性屏蔽開(kāi)來(lái)。由于ACE操作適配層所提供的抽象,極大地增強(qiáng)了ACE的可移植性和可維護(hù)性。C++包裝層通過(guò)提供類型安全的C++接口簡(jiǎn)化通信應(yīng)用程序的開(kāi)發(fā),各種應(yīng)用可以有選擇地繼承、聚合或?qū)嵗渲械慕M件來(lái)使用這些包裝。ACE還包括一個(gè)高級(jí)的網(wǎng)絡(luò)編程框架,集成并增強(qiáng)較低層次的C++包裝層,該框架支持并發(fā)分布式服務(wù)動(dòng)態(tài)配置。

大多數(shù)的網(wǎng)絡(luò)化應(yīng)用可以通過(guò)ACE這樣的可移植中間件進(jìn)行開(kāi)發(fā),因?yàn)锳CE封裝并加強(qiáng)了本地操作系統(tǒng)機(jī)制,通過(guò)其組件可以移除底層操作系統(tǒng)API的繁瑣和易錯(cuò)性創(chuàng)建可重用的網(wǎng)絡(luò)程序。

2 網(wǎng)絡(luò)游戲服務(wù)器系統(tǒng)框架的設(shè)計(jì)

在設(shè)計(jì)網(wǎng)絡(luò)服務(wù)器的過(guò)程中,如何保證服務(wù)器的安全和最大限度地支持更多的客戶端連接是擺在開(kāi)發(fā)者面前一個(gè)重要的問(wèn)題。為了解決這2大問(wèn)題,根據(jù)經(jīng)驗(yàn),在開(kāi)發(fā)游戲服務(wù)器的過(guò)程中,采用如下的服務(wù)器架構(gòu)可有效解決上述2個(gè)問(wèn)題。

2.1 支持Gate的游戲服務(wù)器架構(gòu)

在該架構(gòu)下,Client和Gate Server相連,而不是直接和Game Server相連。Gate Server主要負(fù)責(zé)轉(zhuǎn)發(fā)客戶端和Game Server之間的數(shù)據(jù)包,Game Server負(fù)責(zé)處理游戲的所有邏輯。如圖1所示。

圖1 支持Gate的服務(wù)器系統(tǒng)架構(gòu)

采用該架構(gòu),有如下幾個(gè)優(yōu)點(diǎn):客戶端通過(guò)Gate Server和游戲服務(wù)器Game Server相連,Game Server IP對(duì)外不可見(jiàn),這樣Game Server更安全、更不易受攻擊。一個(gè)Game Server同樣也可以對(duì)應(yīng)若干個(gè)Gate Server,當(dāng)某個(gè)Gate Server受攻擊或停機(jī)后,其他的Gate Server仍然照常運(yùn)行,和其他Gate Server相連的客戶端仍然可正常進(jìn)行游戲;可支持更多的客戶端連接。Gate Server把眾多的客戶端連接分散到多個(gè)Game Server中去,而不是獨(dú)自來(lái)承擔(dān),從而可支持更多的客戶端連接;Gate Server可分擔(dān)一部分安全管理工作,減輕Game Server的壓力。例如若某個(gè)客戶端在一段時(shí)間內(nèi)不發(fā)數(shù)據(jù)包,則把該客戶端踢下線的工作可由Gate Server來(lái)完成。

2.2 軟件功能模塊劃分

在設(shè)計(jì)服務(wù)器框架時(shí),有一個(gè)基本原則,即框架和通信底層的具體實(shí)現(xiàn)需要分離,通信底層的具體實(shí)現(xiàn)不影響框架代碼的修改。因?yàn)橥ㄐ诺讓拥木唧w實(shí)現(xiàn)有很多方式,不同操作系統(tǒng)平臺(tái)的具體實(shí)現(xiàn)差別也很大。例如僅在Windows平臺(tái)下就有基于Windows消息機(jī)制的、基于事件機(jī)制的、也有基于完成端口I/O模型的實(shí)現(xiàn)等。采用框架與通信底層相分離的原則,也有利于利用一些成熟的開(kāi)發(fā)框架,比如使用的ACE框架。這樣,當(dāng)采用一種新的通信技術(shù)實(shí)現(xiàn)通信底層時(shí),則可以不改變服務(wù)器框架,而只需要修改通信底層。在設(shè)計(jì)服務(wù)器時(shí)按照服務(wù)器框架與通信底層相分離的原則,將服務(wù)器框架設(shè)計(jì)為多個(gè)模塊。并生成相應(yīng)的動(dòng)態(tài)鏈接庫(kù)以供調(diào)用。軟件模塊框架如圖2所示。

圖2 軟件模塊框架

在軟件模塊劃分中,通信底層由線程模塊和通信模塊組成,上層則由同步、聯(lián)機(jī)管理和興趣區(qū)管理等模塊組成。其中同步模塊是基于保守/樂(lè)觀的同步算法構(gòu)建的服務(wù)器同步子系統(tǒng),客戶端方面則可以使用航位推測(cè)法減少服務(wù)器的發(fā)包頻率。興趣區(qū)管理模塊用于相關(guān)性信息過(guò)濾,通過(guò)訂購(gòu)?fù)婕腋信d趣的范圍,可以有效減低網(wǎng)絡(luò)帶寬消耗和服務(wù)器負(fù)載。聯(lián)機(jī)管理模塊主要負(fù)責(zé)數(shù)據(jù)封包中的通信協(xié)議以及數(shù)據(jù)報(bào)的壓縮和加密,在數(shù)據(jù)包中采用加密以增加服務(wù)器系統(tǒng)的安全性能,采用壓縮以減少網(wǎng)絡(luò)帶寬消耗。

3 服務(wù)器系統(tǒng)通信底層的實(shí)現(xiàn)

3.1 線程模塊的實(shí)現(xiàn)

在設(shè)計(jì)線程模塊中使用ACE框架中的ACE _Task類和ACE _Message _Queue來(lái)實(shí)現(xiàn)主動(dòng)對(duì)象模式[5],用于處理主動(dòng)對(duì)象,實(shí)現(xiàn)多線程處理。傳統(tǒng)的對(duì)象是被動(dòng)的代碼段,對(duì)象中的代碼是在對(duì)他發(fā)出方法調(diào)用的線程中執(zhí)行的,當(dāng)方法被調(diào)用時(shí),調(diào)用線程將阻塞,直至調(diào)用結(jié)束。而主動(dòng)對(duì)象卻不一樣。這些對(duì)象具有自己的命令執(zhí)行線程,主動(dòng)對(duì)象的方法將在自己的執(zhí)行線程中執(zhí)行,不會(huì)阻塞調(diào)用方法。由于主動(dòng)對(duì)象的方法調(diào)用不會(huì)阻塞,這樣就提高了系統(tǒng)響應(yīng)速度。

設(shè)計(jì)中主動(dòng)對(duì)象繼承ACE _Task,應(yīng)用open進(jìn)行初始化,并派生線程去循環(huán)判斷方法隊(duì)列中是否有方法對(duì)象,若隊(duì)列不為空則將方法出隊(duì)并執(zhí)行。如圖3所示。

在創(chuàng)建任務(wù)和主動(dòng)對(duì)象時(shí),從ACE _Task類派生子類,在子類派生之后,采取以下步驟:

(1) 實(shí)現(xiàn)服務(wù)初始化和終止方法:open()方法應(yīng)該包含所有專屬于任務(wù)的初始化代碼;close()方法則包含相應(yīng)的終止方法。

(2) 調(diào)用啟用(Activation)方法:在主動(dòng)對(duì)象實(shí)例化后,必須通過(guò)調(diào)用activate()啟用他。在主動(dòng)對(duì)象中創(chuàng)建的線程的數(shù)目,以及其他一些參數(shù),需傳遞給activate()方法,activate()方法會(huì)使svc()方法成為所有他生成的線程的啟動(dòng)點(diǎn)。

(3) 實(shí)現(xiàn)服務(wù)專有的處理方法:在主動(dòng)對(duì)象被啟用后,各個(gè)新線程在svc()方法中啟動(dòng)。

圖3 任務(wù)結(jié)構(gòu)示意圖

并發(fā)策略實(shí)現(xiàn)的程序流程如圖4所示:

圖4 線程模塊執(zhí)行流程圖

3.2 通信模塊的實(shí)現(xiàn)

3.2.1 反應(yīng)器ACE Reactor和前攝器ACE Proactor

ACE Reactor(反應(yīng)器)和Proactor(前攝器)是可擴(kuò)展的面向?qū)ο蠖嗦贩蛛x器[4],他們分派應(yīng)用專有的處理器,以響應(yīng)多種類型的基于I/O、定時(shí)器、信號(hào)和同步的事件。

ACE _Reactor反應(yīng)器應(yīng)用于同步I/O操作,實(shí)現(xiàn)了事件的多路分離與分派,能夠處理多個(gè)來(lái)源的I/O。使用反應(yīng)器框架,需要執(zhí)行3個(gè)步驟: 從ACE_Event_Handler派生一個(gè)和多個(gè)事件處理器類,并定義相應(yīng)的事件處理行為;向ACE _Reactor類登記應(yīng)用的事件處理對(duì)象;運(yùn)行ACE _Reactor事件循環(huán),事件發(fā)生時(shí)回調(diào)事件處理器中的事件處理函數(shù)。

ACE_Proactor應(yīng)用于異步I/O操作,他與反應(yīng)器不同的是首先等待事件的完成,然后回調(diào)完成后的事件處理。當(dāng)初始化I/O讀寫(xiě)后把讀寫(xiě)交給系統(tǒng)完成,等待事件完成后前攝器會(huì)將執(zhí)行I/O結(jié)果返回給對(duì)象,并且回調(diào)完成后的事件處理。 前攝式模型允許單個(gè)應(yīng)用線程同時(shí)發(fā)起多個(gè)請(qǐng)求。這一設(shè)計(jì)允許單線程化應(yīng)用并發(fā)的執(zhí)行多個(gè)I/O操作,并且不會(huì)帶來(lái)與傳統(tǒng)的多線程化機(jī)制相關(guān)聯(lián)的開(kāi)銷或設(shè)計(jì)復(fù)雜性。這樣做大大減少了I/O處理時(shí)間。

3.2.2 利用前攝器實(shí)現(xiàn)高效異步I/O數(shù)據(jù)通信

在實(shí)現(xiàn)通信模塊中使用的前攝器模式主要參與者有前攝發(fā)起器、完成處理器、異步操作、異步操作處理器、完成分派器[5]。其結(jié)構(gòu)如圖5所示:

圖5 前攝器模式參與者

其中,前攝發(fā)起器(服務(wù)器應(yīng)用的主線程)是應(yīng)用中任何發(fā)起異步操作的實(shí)體。他將完成處理器和完成分派器登記到異步操作處理器。完成處理器接口用于異步操作完成通知,異步操作則是被用于代表應(yīng)用執(zhí)行請(qǐng)求。當(dāng)異步操作完成時(shí),異步操作處理器將應(yīng)用通知委托給完成分配器。異步操作是由異步操作處理器來(lái)運(yùn)行直至完成的,該組件通常由操作系統(tǒng)實(shí)現(xiàn)。完成分派器負(fù)責(zé)在異步操作完成時(shí)回調(diào)應(yīng)用的完成處理器。當(dāng)異步操作處理器完成異步發(fā)起的操作時(shí),完成分配器代表應(yīng)用執(zhí)行應(yīng)用回調(diào)。該機(jī)制的實(shí)現(xiàn)交互圖如圖6所示:

圖6 前攝器模式交互圖

3.2.3 通信連接的建立

在具體通信模塊中,所用到的ACE主要類有異步連接類、服務(wù)處理類、異步操作類和處理結(jié)果類。建立連接的過(guò)程為:創(chuàng)建異步主動(dòng)連接和被動(dòng)連接子類,在進(jìn)行異步連接時(shí),創(chuàng)建新的服務(wù)處理類,并將該服務(wù)類傳遞給異步連接類,這樣,數(shù)據(jù)的傳輸就交給服務(wù)類去執(zhí)行。實(shí)現(xiàn)服務(wù)處理子類中提供的掛鉤方法,并通過(guò)創(chuàng)建ACE_Sock_Stream和異步讀寫(xiě)流類來(lái)進(jìn)行異步通信。在異步讀寫(xiě)流初始化時(shí)將其注冊(cè)到已創(chuàng)建的proactor中,并保存異步讀寫(xiě)流類的句柄。最后數(shù)據(jù)傳送的結(jié)果和狀態(tài)交給處理結(jié)果類來(lái)處理。異步通信的初始化:

(1) 分別創(chuàng)建異步主動(dòng)連接類的派生類和被動(dòng)連接類的派生類

class TCommandChannelConnectorAceImpl : public ACE_Asynch_Connector< TCommandChannelAceImpl >

class TCommandChannelAcceptorAceImpl : public ACE_Asynch_Acceptor< TCommandChannelAceImpl >

(2) 創(chuàng)建主動(dòng)連接類對(duì)象connector和被動(dòng)連接類對(duì)象acceptor;

(3) 對(duì)于主動(dòng)連接,調(diào)用connector.open(…),并將其注冊(cè)到Proactor,由框架自動(dòng)創(chuàng)建異步通信服務(wù)類,并且自動(dòng)檢測(cè)連接建立狀態(tài);

(4) 對(duì)于被動(dòng)連接,調(diào)用acceptor.open(…),并將其注冊(cè)到Proactor,由框架自動(dòng)創(chuàng)建異步通信服務(wù)類,并且自動(dòng)檢測(cè)連接建立狀態(tài),處于等待偵聽(tīng)狀態(tài);

整個(gè)異步通信機(jī)制實(shí)現(xiàn)的流程如圖7所示:

圖7 異步通信的實(shí)現(xiàn)

3.2.4 ACE_Proactor完成多路分離

ACE_Proactor類負(fù)責(zé)驅(qū)動(dòng)前攝器框架的完成處理。要讓異步I/O完成事件處理得以發(fā)生,還需要運(yùn)行前攝器的事件循環(huán),其流程圖如圖8所示。

圖8 Proactor事件循環(huán)流程

4 結(jié) 語(yǔ)

本文設(shè)計(jì)了一種適用于開(kāi)發(fā)網(wǎng)絡(luò)游戲的服務(wù)器端架構(gòu),并應(yīng)用ACE框架組件和面向?qū)ο蟮脑O(shè)計(jì)模式完成服務(wù)器底層通信的開(kāi)發(fā)。ACE作為一種免費(fèi)開(kāi)源的中間件,富含網(wǎng)絡(luò)與系統(tǒng)編程的實(shí)用設(shè)計(jì)模式[6],具有跨平臺(tái)等優(yōu)越特性,能夠適合任何通信軟件的開(kāi)發(fā)。尤其對(duì)于網(wǎng)絡(luò)游戲服務(wù)器開(kāi)發(fā)者而言,ACE無(wú)疑是一種值得借鑒的通信框架,具有良好的應(yīng)用前景。

參 考 文 獻(xiàn)

[1]Schmidt D C,Huston S D.Mastering Complexity with ACE and Patterns.C++ Network Programming,2001.

[2]Douglas C.Schmidt.ACE自適配通信環(huán)境中文技術(shù)文檔[EB/OL].馬維達(dá),譯.http://www.flyingdonkey.com/ace/.

[3]王繼剛,顧國(guó)昌.構(gòu)架與模式在通信系統(tǒng)軟件中的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用,2003,23(11):4345.

[4] Schmidt D C,Huston S D.Systematic Reuse with ACE and Frameworks.C++ Network Programming,2002.

[5]Stephen D Huston,James C E Johnson,Umar Syyid.Practical Design Patterns for Network and Systems Programming\\[Z\\].The ACE Programmer′s Guide,2004.

[6]高鵬.通過(guò)設(shè)計(jì)模式構(gòu)造的通信應(yīng)用服務(wù)器框架[J].計(jì)算機(jī)科學(xué),2004(2):89.

[7]陳琳.中間件技術(shù)的研究與實(shí)現(xiàn)\\[J\\].現(xiàn)代電子技術(shù),2006,29(12):7678.[HJ0]

作者簡(jiǎn)介 陶 道 男,1983年出生,碩士研究生。主要研究方向?yàn)橛?jì)算機(jī)通信網(wǎng)絡(luò)、網(wǎng)絡(luò)虛擬環(huán)境、網(wǎng)絡(luò)游戲服務(wù)器。

萬(wàn)旺根 男,1961年出生,教授,博士生導(dǎo)師。主要研究領(lǐng)域?yàn)樘摂M現(xiàn)實(shí)技術(shù)、互動(dòng)數(shù)字媒體、多媒體信號(hào)處理。

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文

主站蜘蛛池模板: 国产成人艳妇AA视频在线| 国产麻豆精品在线观看| 精品亚洲麻豆1区2区3区| 粗大猛烈进出高潮视频无码| 国产高清无码麻豆精品| 国产福利小视频高清在线观看| 亚洲人成影视在线观看| 色有码无码视频| 国产精品夜夜嗨视频免费视频| 综合天天色| 亚洲人成成无码网WWW| аⅴ资源中文在线天堂| 天天激情综合| 天堂成人在线| 波多野结衣一区二区三视频| 国产一区自拍视频| 99福利视频导航| 激情国产精品一区| 国产精品亚洲专区一区| 国产91视频观看| 久久久久无码精品| 少妇高潮惨叫久久久久久| 精品国产亚洲人成在线| 视频国产精品丝袜第一页| 五月天丁香婷婷综合久久| 日韩一区二区在线电影| 国产主播在线一区| 国产在线精品网址你懂的| 国产成人福利在线视老湿机| 亚洲VA中文字幕| 久久一日本道色综合久久| 香蕉视频国产精品人| 欧美色图第一页| 中国一级毛片免费观看| 国产精品无码一区二区桃花视频| 精品福利视频网| 亚洲日本在线免费观看| 国产超碰一区二区三区| 午夜免费视频网站| 欧美日韩亚洲国产主播第一区| 国产成a人片在线播放| 色亚洲激情综合精品无码视频 | 亚洲精品桃花岛av在线| 国产xxxxx免费视频| 91亚洲免费视频| 亚洲乱码精品久久久久..| 国产AV无码专区亚洲精品网站| 欧美精品伊人久久| 狠狠色噜噜狠狠狠狠色综合久| 67194亚洲无码| 国产黄网永久免费| 国产激爽大片在线播放| 99热国产在线精品99| 91人妻日韩人妻无码专区精品| 热久久综合这里只有精品电影| 免费 国产 无码久久久| av在线无码浏览| 精品久久国产综合精麻豆 | 美女免费黄网站| 亚洲天堂视频网站| 另类重口100页在线播放| 国产精品护士| 欧美成人免费午夜全| 国产成人综合网| 无码又爽又刺激的高潮视频| 欧美日韩免费观看| 欧美精品xx| 999精品视频在线| 欧美有码在线| 欧美国产日韩在线播放| 色窝窝免费一区二区三区| 亚洲Av综合日韩精品久久久| 国产男人天堂| 曰韩免费无码AV一区二区| 国产xxxxx免费视频| 91亚洲免费视频| 国产午夜精品一区二区三区软件| 亚洲AV成人一区国产精品| 强乱中文字幕在线播放不卡| 亚洲欧洲美色一区二区三区| 国产午夜无码片在线观看网站| a毛片在线播放|