• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Netty的HTTP客戶端的設(shè)計(jì)與實(shí)現(xiàn)

    2014-02-08 03:48:30金志國(guó)李煒
    關(guān)鍵詞:句柄編解碼開放平臺(tái)

    金志國(guó),李煒

    (1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876;2 東信北郵信息技術(shù)有限公司,北京 100191)

    基于Netty的HTTP客戶端的設(shè)計(jì)與實(shí)現(xiàn)

    金志國(guó)1,2,李煒1,2

    (1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876;2 東信北郵信息技術(shù)有限公司,北京 100191)

    能力開放平臺(tái)是一個(gè)提供電信能力開放的移動(dòng)互聯(lián)網(wǎng)開放平臺(tái),向開發(fā)者提供豐富的業(yè)務(wù)能力,包括:短信、彩信、地圖、定位等。能力開放平臺(tái)接入系統(tǒng)需要異步處理客戶端的HTTP請(qǐng)求,而平臺(tái)內(nèi)部各個(gè)系統(tǒng)間的消息傳遞也需要使用大量的異步HTTP請(qǐng)求。Netty是一款異步的事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用開源框架,用于快速開發(fā)可維護(hù)的高性能、高擴(kuò)展性協(xié)議服務(wù)器和客戶端。本文簡(jiǎn)述了通過(guò)對(duì)開源框架Netty的源碼封裝,提供方便易用可以發(fā)送異步HTTP請(qǐng)求的客戶端的設(shè)計(jì)思路和具體實(shí)現(xiàn)。

    Netty框架;NIO 技術(shù);異步;HTTP客戶端

    云計(jì)算是服務(wù)的交付和使用模式,指通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需服務(wù)。在云計(jì)算技術(shù)發(fā)展日新月異的今天,業(yè)界開始更多的轉(zhuǎn)向云平臺(tái)。能力開放平臺(tái)是基于PaaS(Platform as a Service,平臺(tái)即服務(wù))提供電信能力開放的移動(dòng)互聯(lián)網(wǎng)開放云平臺(tái),向開發(fā)者提供豐富的業(yè)務(wù)能力,包括:短信、彩信、地圖、定位等。在能力開放平臺(tái)的接入系統(tǒng)部分,需要處理海量的請(qǐng)求。在用戶體驗(yàn)不斷提高的要求下,能力開放平臺(tái)業(yè)務(wù)處理日益復(fù)雜造成交互延遲,傳統(tǒng)的Web請(qǐng)求同步模式下業(yè)務(wù)處理的阻塞造成的延遲已經(jīng)滿足不了高并發(fā)需求[1]。

    在接入系統(tǒng)內(nèi)部以及接入系統(tǒng)與其他系統(tǒng)之間,多采用HTTP進(jìn)行數(shù)據(jù)傳輸。由接入系統(tǒng)接受客戶傳來(lái)的請(qǐng)求,進(jìn)行異步處理,但系統(tǒng)內(nèi)部的信息傳輸仍然采用同步模式時(shí),則會(huì)造成阻塞,異步的Web服務(wù)器也失去了意義。所以,在云平臺(tái)項(xiàng)目開發(fā)過(guò)程中急需要一個(gè)可以支持大并發(fā)高效穩(wěn)定的異步HTTP客戶端[2]。

    目前,異步HTTP客戶端只有Apache Http Components項(xiàng)目的HttpAsyncClient 4.0-beta4,但仍然是對(duì)外測(cè)試版。其他的異步框架,如Mina、Netty和Grizzly,均是以Java NIO(Non-Blocking I,非阻塞IO)為基礎(chǔ)。本文通過(guò)調(diào)研,選定采用Netty作為底層源碼實(shí)現(xiàn)異步HTTP客戶端。

    1 Netty概述

    Netty[3]是一款異步的事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用框架和工具,用于快速開發(fā)可維護(hù)的高性能、高擴(kuò)展性協(xié)議服務(wù)器和客戶端。Netty是一個(gè)基于Java NIO[4]客戶端/服務(wù)器框架,支持快速、簡(jiǎn)單地開發(fā)網(wǎng)絡(luò)應(yīng)用,如協(xié)議服務(wù)器和客戶端。

    圖1 HTTP客戶端總體模塊圖

    Netty具有以下優(yōu)勢(shì):

    (1)對(duì)阻塞和非阻塞的socket提高統(tǒng)一的API;

    (2)高度可定制化的線程模型;

    (3)基于攔截鏈模式的事件模型有很高的靈活性和擴(kuò)展性;

    (4)對(duì)多種協(xié)議的支持,包括HTTP、TCP、UDP、SMTP、FTP以及二進(jìn)制文本協(xié)議,完全支持SSL/TLS,適用于快速開發(fā)各種高級(jí)組件。

    2 總體設(shè)計(jì)與分析

    2.1 總體設(shè)計(jì)

    本文是以Netty框架[3]為底層,將Netty提供的對(duì)HTTP協(xié)議的支持,編解碼等功能封裝成異步HTTP客戶端,提供簡(jiǎn)單易懂的API使用,可以很容易的發(fā)送HTTP請(qǐng)求,并異步處理HTTP響應(yīng)。

    基于Netty的HTTP客戶端總體模塊設(shè)計(jì)[5]見圖1所示,設(shè)計(jì)思路如下:

    (1) 提供一個(gè)整體的配置類,作為API的入口;

    (2) 針對(duì)不同的配置類,生成不同的異步客戶端啟動(dòng)類;

    (3) 由異步客戶端負(fù)責(zé)發(fā)送異步和同步的HTTP請(qǐng)求。

    2.2 網(wǎng)絡(luò)模型

    Netty基于Java NIO設(shè)計(jì)并實(shí)現(xiàn),因此它實(shí)現(xiàn)異步的方式與Java NIO類似,采用的網(wǎng)絡(luò)模式是reactor模式。

    每個(gè)Worker其實(shí)表示的是Selector和Thread一種組合,如圖2所示。每次創(chuàng)建一個(gè)連接,都會(huì)選擇一個(gè)Worker,并且注冊(cè)到Worker里的Selector,Worker會(huì)進(jìn)行l(wèi)oop,不斷地關(guān)注通道事件,也就是會(huì)說(shuō)每個(gè)Worker(Selector)下會(huì)注冊(cè)多個(gè)Channel,并且不斷地去Select關(guān)注的Channel。Selector在發(fā)現(xiàn)感興趣的事件后,直接調(diào)用Channel的Pipeline進(jìn)行處理。

    圖2 worker線程模型[3]

    2.3 事件驅(qū)動(dòng)模式

    消息處理模型采用的是基于事件的Pipeline模式。Pipeline實(shí)際上可以理解為對(duì)Channel的filter chain,可以通過(guò)在Pipeline中定義多個(gè)handler來(lái)處理各種事件。

    Channel表示一個(gè)與socket關(guān)聯(lián)的通道。ChannelPipeline是管道,一個(gè)Channel擁有一個(gè)ChannelPipeline,負(fù)責(zé)維護(hù)兩個(gè)處理鏈,即upstream鏈和downstream鏈。處理鏈由多個(gè)處理句柄ChannelHandler構(gòu)成,每個(gè)ChannelHandler處理完以后會(huì)傳遞給鏈中的下一個(gè)處理句柄繼續(xù)處理。ChannelHandler是處理句柄,用戶可以定義自己的處理句柄來(lái)處理每個(gè)請(qǐng)求,或發(fā)出請(qǐng)求前進(jìn)行預(yù)處理,典型的處理句柄有編解碼器decoder和encoder。ChannelEvent事件是整個(gè)模型的處理對(duì)象,當(dāng)產(chǎn)生或觸發(fā)一個(gè)事件時(shí),該事件會(huì)沿著ChannelPipeline處理鏈依次被處理。ChannelFuture表示異步結(jié)果,這個(gè)是異步事件處理的關(guān)鍵,當(dāng)一個(gè)事件被處理時(shí),可以直接以ChannelFuture的形式直接返回,不用在當(dāng)前操作中被阻塞??梢酝ㄟ^(guò)ChannelFuture得到最終的執(zhí)行結(jié)果,具體的做法是在ChannelFuture添加監(jiān)聽器listener,當(dāng)操作最終被執(zhí)行完后,listener會(huì)被觸發(fā),我們可以在listener的回調(diào)函數(shù)中預(yù)定義我們的業(yè)務(wù)代碼。

    ChannelPipeline維持兩個(gè)處理鏈:upstream、downstream。Upstream一般處理來(lái)自Channel的讀事件,而downstream一般處理向Channel的寫事件。需要注意的是,這兩個(gè)處理鏈?zhǔn)窍嗷オ?dú)立的,在upstream鏈中傳遞到最后一個(gè)ChannelHandler處理后,不會(huì)再傳遞到downstream鏈中繼續(xù)處理。

    在downstream鏈的末端會(huì)有個(gè)ChannelSink處理,用戶可以自定義這個(gè)ChannelSink的實(shí)現(xiàn),系統(tǒng)也有個(gè)默認(rèn)的實(shí)現(xiàn),當(dāng)downstream鏈中最后一個(gè)ChannelHandler處理完后會(huì)被傳遞給這個(gè)ChannelSink進(jìn)行最后的處理。

    2.4 詳細(xì)設(shè)計(jì)

    2.4.1 配置類

    圖3定義了總配置的接口,具體的配置實(shí)現(xiàn)類通過(guò)實(shí)現(xiàn)總配置的接口,實(shí)現(xiàn)自己的配置信息。

    圖3 配置類圖

    Netty的配置類部分內(nèi)容見表1。

    2.4.2 啟動(dòng)類

    通過(guò)將配置類NettyConfig作為參數(shù)傳入給異步客戶端類[5], 異步客戶端類會(huì)根據(jù)配置類的類型,返回不同的啟動(dòng)類。如果傳入NettyConfig,則調(diào)用nettyProvider。對(duì)應(yīng)調(diào)用Netty底層的bootstrap幫助類,封裝成異步客戶端啟動(dòng)類返回給用戶。用戶則可以通過(guò)該啟動(dòng)類發(fā)送同步或者異步HTTP請(qǐng)求。

    由Netty的網(wǎng)絡(luò)模型(2.2章節(jié))可知,Netty底層采用線程池處理消息的發(fā)送和接受,boss線程和worker分別各用一個(gè)線程池,即需要兩個(gè)線程池。如果每次發(fā)送一條HTTP請(qǐng)求,都新啟動(dòng)一個(gè)Netty客戶端類,對(duì)應(yīng)生成新啟動(dòng)兩個(gè)線程池,開銷較大,Netty的性能也完全沒(méi)有利用起來(lái)。由此,設(shè)計(jì)時(shí)采用單例模式,只生成一個(gè)AsyncHttpClient異步客戶端實(shí)例,所有的請(qǐng)求都是通過(guò)這個(gè)客戶端實(shí)例進(jìn)行發(fā)送的。

    表1 配置項(xiàng)

    2.4.3 編解碼類

    因?yàn)镹etty消息處理采用事件驅(qū)動(dòng)模式,編解碼的工作在Pipeline中進(jìn)行。Netty已經(jīng)提供好了多種HTTP[6]的編解碼類,如HttpResponseDecoder(對(duì)HTTP響應(yīng)進(jìn)行解碼工作),HttpRequestEncoder(對(duì)HTTP請(qǐng)求進(jìn)行編碼工作)。

    在Pipeline中除去編解碼類,剩下最主要的就是需要我們自己定義的響應(yīng)處理邏輯類HttpResponse Handler,該類需要繼承SimpleChannelUpstream Handler類。經(jīng)過(guò)Decoder解碼后的HTTP響應(yīng)消息會(huì)傳遞到處理邏輯類,方便我們響應(yīng)進(jìn)行操作。

    這里采用了一種巧妙的設(shè)計(jì)思路,讓 Netty的啟動(dòng)類NettyHttpClient繼承SimpleChannelUpstream Handler類,使得響應(yīng)的處理邏輯也可以通過(guò)Netty啟動(dòng)類配置。統(tǒng)一了API的使用。

    獲取返回消息,定義了兩種方式:

    (1) 通過(guò)默認(rèn)的handler處理邏輯,獲取結(jié)果時(shí),通過(guò)阻塞的方式,等待默認(rèn)handler得到結(jié)果后,將結(jié)果返回。

    (2) 通過(guò)自定義的回調(diào)函數(shù),實(shí)現(xiàn)客戶端代碼的異步。當(dāng)有消息時(shí),會(huì)自動(dòng)通知客戶端。通過(guò)實(shí)現(xiàn)回調(diào)函數(shù)接口,可以對(duì)響應(yīng)進(jìn)行多種操作。

    2.4.4 設(shè)計(jì)模式

    本文在設(shè)計(jì)異步客戶端時(shí),參考了很多開源框架[5]的設(shè)計(jì)原理,采用了工廠模式、Builder模式和單例模式等方法實(shí)現(xiàn)[7]。

    (1)工廠模式

    使用工廠模式構(gòu)建配置類和啟動(dòng)類,如圖4所示,不同的框架實(shí)現(xiàn)不同的配置類。異步客戶端類根據(jù)配置類的類型,產(chǎn)生不同的異步客戶端啟動(dòng)類,進(jìn)行HTTP請(qǐng)求的發(fā)送。為以后擴(kuò)展其他的框架實(shí)現(xiàn)方式提供了接口支持。

    (2)Builder模式

    因?yàn)榕渲妙愑泻芏鄥?shù)需要配置,如果對(duì)每一種可能的情況都設(shè)置一個(gè)構(gòu)造器,工作量將是非常巨大的,而且可讀性很差。采用Builder模式,不直接生成需要的對(duì)象,而是讓客戶端利用所有必要的參數(shù)調(diào)用構(gòu)造器(類似于靜態(tài)工廠的方式),得到一個(gè)Builder對(duì)象。然后通過(guò)對(duì)Builder對(duì)象上調(diào)用類似于setter的方法,來(lái)設(shè)置每一個(gè)相關(guān)的可選參數(shù)。Builder是配置類的靜態(tài)成員類,通過(guò)調(diào)用Build方法來(lái)生成不可變的對(duì)象。

    (3)單例模式

    通過(guò)單例模式可以保證系統(tǒng)中一個(gè)類只有一個(gè)異步客戶端實(shí)例可以被外界訪問(wèn),從而方便對(duì)實(shí)例個(gè)數(shù)的控制并節(jié)約系統(tǒng)資源,避免了每次發(fā)送請(qǐng)求構(gòu)建線程池和銷毀線程池的開銷,高并發(fā)量下,功能得到了保障,性能得到了提高。

    2.5 分析測(cè)試和結(jié)果

    在完成了基于Netty的HTTP客戶端開發(fā)工作了,對(duì)幾種HTTP客戶端的性能進(jìn)行了簡(jiǎn)單的比較。比較了3種HTTP客戶端。2種異步客戶端,分別為本文實(shí)現(xiàn)的客戶端, HttpAsyncClient。1種同步客戶端,HttpClient。

    圖4 工廠模式

    通過(guò)跑10 000個(gè)HTTP的GET請(qǐng)求,得出結(jié)果:使用異步的NettyHttpClient共用時(shí)間5 972 ms,使用異步的HttpAsyncClient共用時(shí)間9 021 ms,使用同步的HttpClient共用時(shí)間29 310 ms。從測(cè)試結(jié)果分析,發(fā)現(xiàn)異步客戶端比同步客戶端效率要高很多,而基于Netty實(shí)現(xiàn)的異步HTTP客戶端效率要比apache要高。

    3 應(yīng)用

    本文所述的基于Netty的異步HTTP客戶端已經(jīng)完成。配置類提供了25個(gè)配置項(xiàng),包括Netty啟動(dòng)的配置項(xiàng),以及HTTP請(qǐng)求的配置項(xiàng)。同時(shí)提供同步和異步HTTP請(qǐng)求,包括GET, POST, DELETE, PUT。還提供發(fā)送單向的HTTPS請(qǐng)求的功能。目前,本客戶端已經(jīng)應(yīng)用在實(shí)驗(yàn)室多個(gè)項(xiàng)目中。尤其在消息解析引擎中,作為必不可少的一部分。

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

    本文設(shè)計(jì)并實(shí)現(xiàn)的異步HTTP客戶端,其設(shè)計(jì)思路借鑒了很多開源框架的設(shè)計(jì)原則,始終本著使用簡(jiǎn)單,低耦合和高內(nèi)聚的軟件設(shè)計(jì)思路進(jìn)行的實(shí)現(xiàn)。采用的都是通用接口設(shè)計(jì),方便以后擴(kuò)展。

    雖然本客戶端已經(jīng)滿足了項(xiàng)目中的基本需求,但是還有部分功能沒(méi)有實(shí)現(xiàn),下一步需要進(jìn)一步研究的問(wèn)題是完善本客戶端的功能和配置項(xiàng)。同時(shí),考慮到不同的異步框架性能和實(shí)現(xiàn)原理的差異性,需要將其他的異步框架也融入進(jìn)去,使得用戶可以選擇性使用不同的底層實(shí)現(xiàn),來(lái)滿足自己不同的功能或者性能需求。

    [1] 鄭建軍. Java在高并發(fā)網(wǎng)絡(luò)編程中的應(yīng)用[J]. 電腦編程技巧與維護(hù),2013(18):50-52.

    [2] Goetz B. Java并發(fā)編程實(shí)戰(zhàn)[M]. 北京:機(jī)械工業(yè)出版社華章公司,2012.

    [3] JBoss. Netty project[CP/OL]. [2012-4-1]. http://netty.io/

    [4] Hitchens R. Java NIO[M]. USA: O'Reilly Media, 2002.

    [5] Jfarcand. The Async Http Client[CP/OL]. [2012-3-16]. http:// sonatype.github.io/async-http-client/

    [6] Gourley D, Totty B. HTTP權(quán)威指南[M]. 北京:人民郵電出版社,2012.

    [7] 梅特斯克. Java設(shè)計(jì)模式[M]. 北京:人民郵電出版社,2007.

    Design and implementation of HTTP client based on Netty

    JIN Zhi-guo1,2, LI Wei1,2
    (1 State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd., Beijing 100191, China)

    Open Mobile Platform is an Open Platform providing ability of telecommunication. It provides developers with rich business abilities, including: SMS, MMS, maps, positioning, etc. The access system of Open Mobile Platform requires asynchronous processing HTTP requests for the client, and various systems of the platform also need to use a large number of asynchronous HTTP requests to send message. Netty is an asynchronous event-driven network applications open source framework, which is used for rapid development of maintainable high performance, high scalability protocol servers and clients. This paper briefy describes the design idea and concrete implementation of using open source framework Netty for providing a convenient and easy http client which can send an asynchronous HTTP request.

    Netty framework; NIO technology; asynchrony; HTTP client

    TN915

    A

    1008-5599(2014)01-0084-05

    2013-12-05

    國(guó)家973計(jì)劃項(xiàng)目(No. 2013CB329102);國(guó)家自然科學(xué)基金資助項(xiàng)目(No. 61372120,61271019, 61101119, 61121001, 61072057, 60902051);長(zhǎng)江學(xué)者和創(chuàng)新團(tuán)隊(duì)發(fā)展計(jì)劃資助(No. IRT1049);北京市支持中央高校共建項(xiàng)目——青年英才計(jì)劃。

    猜你喜歡
    句柄編解碼開放平臺(tái)
    基于在線開放平臺(tái)的混合式課堂教學(xué)模式構(gòu)建與實(shí)踐
    1553B總線控制器編解碼設(shè)計(jì)
    大型民機(jī)試飛遙測(cè)視頻編解碼方法研究
    基于H.265編解碼的高清視頻傳輸系統(tǒng)研究
    基于AliGenie語(yǔ)音開放平臺(tái)的傳統(tǒng)家居智聯(lián)網(wǎng)解決方案
    電子制作(2018年17期)2018-09-28 01:56:46
    高校圖書館持久標(biāo)識(shí)符應(yīng)用研究
    編譯程序語(yǔ)法分析句柄問(wèn)題分析與探討
    搭建開放平臺(tái) 收獲真情實(shí)感——談《品德與生活》教學(xué)中開放式教學(xué)的實(shí)施
    云計(jì)算開放平臺(tái)的知識(shí)產(chǎn)權(quán)問(wèn)題研究
    MFC應(yīng)用程序多線程混合顯示界面方法研究
    欧美乱妇无乱码| 999精品在线视频| 在线国产一区二区在线| 黄色丝袜av网址大全| 国内精品久久久久久久电影| av视频在线观看入口| 少妇人妻一区二区三区视频| 免费一级毛片在线播放高清视频| 三级毛片av免费| 国产成人av教育| 国产黄色小视频在线观看| 国产三级黄色录像| 国产精品香港三级国产av潘金莲| 每晚都被弄得嗷嗷叫到高潮| 岛国在线观看网站| 亚洲av中文字字幕乱码综合| 啦啦啦观看免费观看视频高清| 亚洲第一电影网av| 久久这里只有精品19| 黄片大片在线免费观看| 麻豆av在线久日| 变态另类丝袜制服| 久久久久久久久久黄片| 搡老岳熟女国产| 97人妻精品一区二区三区麻豆| 欧美一区二区精品小视频在线| 国产精品1区2区在线观看.| 亚洲专区字幕在线| 国产av麻豆久久久久久久| 啦啦啦观看免费观看视频高清| 伦理电影免费视频| 久久久久久久久免费视频了| 日日摸夜夜添夜夜添小说| 窝窝影院91人妻| 亚洲在线自拍视频| 男女那种视频在线观看| 日本在线视频免费播放| 美女高潮的动态| 夜夜爽天天搞| 最近最新免费中文字幕在线| 亚洲七黄色美女视频| 日本a在线网址| 午夜福利在线观看吧| 男插女下体视频免费在线播放| 99久久无色码亚洲精品果冻| 美女cb高潮喷水在线观看 | 亚洲精品中文字幕一二三四区| 亚洲av第一区精品v没综合| 国产一区二区三区在线臀色熟女| 国产精品久久久久久精品电影| 日韩人妻高清精品专区| 国产一区在线观看成人免费| 91av网一区二区| 午夜福利欧美成人| 国产一区在线观看成人免费| 少妇丰满av| 色噜噜av男人的天堂激情| 亚洲国产看品久久| 少妇丰满av| 天堂动漫精品| 99精品欧美一区二区三区四区| 免费av毛片视频| 国产真人三级小视频在线观看| 巨乳人妻的诱惑在线观看| 久久久国产欧美日韩av| 免费av不卡在线播放| 免费无遮挡裸体视频| 日韩精品中文字幕看吧| 欧美日韩精品网址| 国产亚洲av高清不卡| 老汉色∧v一级毛片| 一区二区三区高清视频在线| 12—13女人毛片做爰片一| 国产三级中文精品| 好男人电影高清在线观看| 日韩成人在线观看一区二区三区| 女人高潮潮喷娇喘18禁视频| 亚洲无线观看免费| 无限看片的www在线观看| 婷婷精品国产亚洲av| 午夜视频精品福利| 久久亚洲精品不卡| 国产精品久久久人人做人人爽| 床上黄色一级片| 久久香蕉国产精品| 琪琪午夜伦伦电影理论片6080| 亚洲精品美女久久久久99蜜臀| 久久久水蜜桃国产精品网| 久久久久久久午夜电影| 露出奶头的视频| 欧美在线一区亚洲| 18禁裸乳无遮挡免费网站照片| 日本 欧美在线| 一本一本综合久久| 国产麻豆成人av免费视频| 美女高潮的动态| 淫妇啪啪啪对白视频| 757午夜福利合集在线观看| 国产视频一区二区在线看| 免费在线观看影片大全网站| 久久欧美精品欧美久久欧美| 久久精品国产亚洲av香蕉五月| 国产伦精品一区二区三区视频9 | 精华霜和精华液先用哪个| 18禁黄网站禁片免费观看直播| 国产一区二区激情短视频| 免费搜索国产男女视频| 99国产综合亚洲精品| 亚洲七黄色美女视频| 国产成人av教育| 成人18禁在线播放| 亚洲在线观看片| 好看av亚洲va欧美ⅴa在| 黄色日韩在线| 日韩人妻高清精品专区| 巨乳人妻的诱惑在线观看| 床上黄色一级片| 啪啪无遮挡十八禁网站| 亚洲精华国产精华精| 久99久视频精品免费| 狂野欧美激情性xxxx| 色av中文字幕| 国产 一区 欧美 日韩| 国产精品电影一区二区三区| 看片在线看免费视频| 亚洲欧美日韩东京热| 国产亚洲av高清不卡| 精品人妻1区二区| 亚洲美女黄片视频| 婷婷六月久久综合丁香| 国产av不卡久久| 免费大片18禁| 亚洲五月婷婷丁香| 性欧美人与动物交配| 色视频www国产| 男女那种视频在线观看| 久久精品亚洲精品国产色婷小说| av在线蜜桃| 色在线成人网| 久久天堂一区二区三区四区| 成年女人永久免费观看视频| 国产伦人伦偷精品视频| 啪啪无遮挡十八禁网站| 无人区码免费观看不卡| 欧美极品一区二区三区四区| 99久久99久久久精品蜜桃| 又紧又爽又黄一区二区| 搡老岳熟女国产| 亚洲av日韩精品久久久久久密| 亚洲欧美一区二区三区黑人| www.www免费av| 国产成人aa在线观看| 成人亚洲精品av一区二区| 久久久久久久久免费视频了| 日本熟妇午夜| 国产午夜福利久久久久久| 国产精品影院久久| 亚洲av免费在线观看| а√天堂www在线а√下载| 欧美成狂野欧美在线观看| 美女扒开内裤让男人捅视频| 亚洲中文日韩欧美视频| 精品福利观看| 亚洲 国产 在线| 中文字幕人成人乱码亚洲影| 长腿黑丝高跟| 精品久久久久久久毛片微露脸| 国产成人精品久久二区二区91| 国产精华一区二区三区| 国产精品永久免费网站| 可以在线观看毛片的网站| 成人国产综合亚洲| 欧美在线一区亚洲| 欧美黑人欧美精品刺激| 久久久久久大精品| 老鸭窝网址在线观看| 亚洲五月婷婷丁香| 欧美黄色淫秽网站| 午夜成年电影在线免费观看| 高潮久久久久久久久久久不卡| 国产亚洲精品综合一区在线观看| 99久久99久久久精品蜜桃| 欧美一区二区精品小视频在线| 国产高潮美女av| 亚洲av成人不卡在线观看播放网| 国内揄拍国产精品人妻在线| 亚洲中文av在线| 制服丝袜大香蕉在线| 给我免费播放毛片高清在线观看| 久久这里只有精品19| 国产久久久一区二区三区| 看免费av毛片| 精品不卡国产一区二区三区| 91字幕亚洲| 日韩成人在线观看一区二区三区| 波多野结衣高清作品| 黄频高清免费视频| 可以在线观看的亚洲视频| 久久这里只有精品19| www.精华液| 脱女人内裤的视频| 亚洲自偷自拍图片 自拍| 日本免费一区二区三区高清不卡| 国产又色又爽无遮挡免费看| 欧美黑人欧美精品刺激| 啪啪无遮挡十八禁网站| 亚洲成a人片在线一区二区| 一卡2卡三卡四卡精品乱码亚洲| 亚洲人成网站高清观看| 成人永久免费在线观看视频| 黄色日韩在线| 亚洲国产精品sss在线观看| 久久精品国产亚洲av香蕉五月| 十八禁网站免费在线| 九九热线精品视视频播放| 日本免费a在线| 亚洲aⅴ乱码一区二区在线播放| 一边摸一边抽搐一进一小说| 一本久久中文字幕| 性欧美人与动物交配| 国产精品久久电影中文字幕| 欧美日韩亚洲国产一区二区在线观看| 国产精品 欧美亚洲| 波多野结衣巨乳人妻| 黑人操中国人逼视频| 国产亚洲精品久久久久久毛片| 老汉色∧v一级毛片| 亚洲国产精品999在线| 黄色女人牲交| 琪琪午夜伦伦电影理论片6080| 午夜亚洲福利在线播放| 亚洲七黄色美女视频| 国产亚洲av嫩草精品影院| 久久久久性生活片| 色视频www国产| 国产精品一区二区免费欧美| 欧美最黄视频在线播放免费| 日韩国内少妇激情av| 精品福利观看| 国产一区二区三区视频了| 亚洲成人精品中文字幕电影| 国产高清视频在线观看网站| 黄频高清免费视频| 丝袜人妻中文字幕| 97超级碰碰碰精品色视频在线观看| 亚洲男人的天堂狠狠| 国产成人av激情在线播放| 超碰成人久久| 亚洲精品在线美女| 久久国产乱子伦精品免费另类| 天堂√8在线中文| 嫁个100分男人电影在线观看| 在线免费观看不下载黄p国产 | 国产精品久久久久久久电影 | www.精华液| 国内精品久久久久精免费| 不卡av一区二区三区| 午夜福利高清视频| 五月伊人婷婷丁香| 国产一区二区在线av高清观看| 免费大片18禁| av视频在线观看入口| 亚洲人成电影免费在线| 亚洲avbb在线观看| 人妻久久中文字幕网| 淫妇啪啪啪对白视频| netflix在线观看网站| 中文亚洲av片在线观看爽| 久久精品aⅴ一区二区三区四区| 欧美一区二区国产精品久久精品| 黄色片一级片一级黄色片| 欧美3d第一页| 欧美日韩国产亚洲二区| 人人妻人人澡欧美一区二区| 哪里可以看免费的av片| 亚洲国产欧美一区二区综合| 欧美另类亚洲清纯唯美| 欧美日本视频| 久久精品综合一区二区三区| 午夜福利在线观看吧| 欧美极品一区二区三区四区| 看片在线看免费视频| 亚洲熟女毛片儿| 男女做爰动态图高潮gif福利片| 观看美女的网站| 青草久久国产| 久久国产精品人妻蜜桃| 国内精品一区二区在线观看| 亚洲精品在线观看二区| 嫩草影院精品99| 精品一区二区三区视频在线 | 欧美日韩一级在线毛片| 亚洲精品456在线播放app | 窝窝影院91人妻| 精品电影一区二区在线| 老汉色av国产亚洲站长工具| 成年人黄色毛片网站| 两个人看的免费小视频| 黄色成人免费大全| 久久99热这里只有精品18| 久久久久国内视频| 黄色丝袜av网址大全| 婷婷亚洲欧美| 国产欧美日韩一区二区三| 亚洲精品久久国产高清桃花| 成人亚洲精品av一区二区| av福利片在线观看| 一级a爱片免费观看的视频| 日本a在线网址| 精品日产1卡2卡| 国产亚洲av高清不卡| 国产成年人精品一区二区| 国产成人av教育| 香蕉久久夜色| 巨乳人妻的诱惑在线观看| 在线观看美女被高潮喷水网站 | 熟女电影av网| 久久中文看片网| 欧美xxxx黑人xx丫x性爽| 国产高清三级在线| 亚洲 欧美一区二区三区| 老熟妇乱子伦视频在线观看| 亚洲专区中文字幕在线| 无遮挡黄片免费观看| 51午夜福利影视在线观看| 午夜激情欧美在线| 亚洲av片天天在线观看| 18禁黄网站禁片免费观看直播| 国产伦人伦偷精品视频| 日本黄色片子视频| 又黄又爽又免费观看的视频| 少妇丰满av| 精品久久久久久久末码| 男女那种视频在线观看| 国产三级在线视频| 一夜夜www| 精品久久久久久久久久久久久| 国产精品99久久99久久久不卡| 国产av在哪里看| 亚洲av第一区精品v没综合| 日本三级黄在线观看| 精品一区二区三区视频在线观看免费| 国产一区在线观看成人免费| 亚洲五月婷婷丁香| 国产精品野战在线观看| 成人国产一区最新在线观看| 中文字幕熟女人妻在线| 色av中文字幕| 又紧又爽又黄一区二区| 哪里可以看免费的av片| 午夜精品在线福利| 中文字幕av在线有码专区| 日韩欧美精品v在线| 91久久精品国产一区二区成人 | 久久久久国内视频| 亚洲成av人片在线播放无| 免费av毛片视频| 久久精品91无色码中文字幕| 天堂av国产一区二区熟女人妻| 亚洲成人精品中文字幕电影| 夜夜爽天天搞| 两个人看的免费小视频| ponron亚洲| av在线天堂中文字幕| 黄色丝袜av网址大全| 在线观看66精品国产| 五月玫瑰六月丁香| 日本黄色片子视频| 国产黄片美女视频| 精品国产美女av久久久久小说| 久99久视频精品免费| 亚洲午夜理论影院| 亚洲欧美日韩无卡精品| 亚洲国产欧美一区二区综合| 一级毛片女人18水好多| 好男人电影高清在线观看| 男女之事视频高清在线观看| 99热这里只有精品一区 | 欧美日本视频| 久久精品人妻少妇| 精品久久久久久久毛片微露脸| 老司机午夜福利在线观看视频| 国产午夜福利久久久久久| 黄频高清免费视频| xxx96com| 国产av在哪里看| 国产亚洲精品久久久com| 色综合婷婷激情| 国产伦精品一区二区三区视频9 | 综合色av麻豆| svipshipincom国产片| 午夜福利在线观看免费完整高清在 | 99久久成人亚洲精品观看| 午夜福利高清视频| 色精品久久人妻99蜜桃| 中文资源天堂在线| 成人性生交大片免费视频hd| 免费在线观看日本一区| 亚洲乱码一区二区免费版| av视频在线观看入口| 99国产精品99久久久久| 99久久精品热视频| 狂野欧美白嫩少妇大欣赏| 日本成人三级电影网站| 精品久久久久久久毛片微露脸| 久久热在线av| 久久久国产欧美日韩av| 国产精品久久久久久人妻精品电影| av黄色大香蕉| 国产男靠女视频免费网站| 老鸭窝网址在线观看| 亚洲av成人一区二区三| 免费看a级黄色片| 俺也久久电影网| 看免费av毛片| 国产又色又爽无遮挡免费看| 亚洲色图 男人天堂 中文字幕| 香蕉久久夜色| 亚洲av美国av| 国产97色在线日韩免费| 在线观看免费视频日本深夜| 黄色视频,在线免费观看| 免费在线观看日本一区| 搡老岳熟女国产| 毛片女人毛片| 曰老女人黄片| 久久精品影院6| 成人鲁丝片一二三区免费| 999精品在线视频| 国模一区二区三区四区视频 | 美女黄网站色视频| 日本撒尿小便嘘嘘汇集6| 国产精品久久久久久久电影 | 亚洲性夜色夜夜综合| 一级毛片女人18水好多| 国产真人三级小视频在线观看| 国产欧美日韩一区二区精品| 婷婷亚洲欧美| 久久久国产精品麻豆| av黄色大香蕉| 久久人人精品亚洲av| 欧美成狂野欧美在线观看| 亚洲专区字幕在线| 国产高清视频在线观看网站| 亚洲成人久久爱视频| 黑人巨大精品欧美一区二区mp4| 搡老妇女老女人老熟妇| 久久久久久久久免费视频了| 热99在线观看视频| 免费在线观看成人毛片| 一级黄色大片毛片| 叶爱在线成人免费视频播放| 久久人妻av系列| 色噜噜av男人的天堂激情| 一进一出抽搐动态| 熟妇人妻久久中文字幕3abv| 亚洲18禁久久av| 亚洲av电影不卡..在线观看| 女人高潮潮喷娇喘18禁视频| 亚洲色图 男人天堂 中文字幕| 久久久久国产精品人妻aⅴ院| 久久久国产精品麻豆| 午夜久久久久精精品| 日韩欧美精品v在线| 国产成人av教育| 精品国产超薄肉色丝袜足j| а√天堂www在线а√下载| 真实男女啪啪啪动态图| 青草久久国产| 法律面前人人平等表现在哪些方面| 嫩草影视91久久| 欧美黑人巨大hd| 一本综合久久免费| АⅤ资源中文在线天堂| 国产成人啪精品午夜网站| 午夜福利18| 欧美日韩一级在线毛片| 又黄又爽又免费观看的视频| 香蕉丝袜av| 丁香六月欧美| 欧美午夜高清在线| 亚洲男人的天堂狠狠| 亚洲美女黄片视频| 午夜激情欧美在线| 日韩欧美 国产精品| 叶爱在线成人免费视频播放| 99精品在免费线老司机午夜| 岛国视频午夜一区免费看| 法律面前人人平等表现在哪些方面| 国产成人系列免费观看| 别揉我奶头~嗯~啊~动态视频| 欧美日韩综合久久久久久 | 美女高潮喷水抽搐中文字幕| e午夜精品久久久久久久| 一个人看的www免费观看视频| 他把我摸到了高潮在线观看| 男人的好看免费观看在线视频| 久久久久久久久免费视频了| 一区二区三区高清视频在线| 美女黄网站色视频| 日本免费a在线| 色视频www国产| 看免费av毛片| 搡老岳熟女国产| 日本撒尿小便嘘嘘汇集6| 三级国产精品欧美在线观看 | 婷婷亚洲欧美| 国产精品精品国产色婷婷| 韩国av一区二区三区四区| 长腿黑丝高跟| 亚洲欧美日韩高清在线视频| 1024香蕉在线观看| 亚洲av电影不卡..在线观看| 美女午夜性视频免费| 美女 人体艺术 gogo| 一进一出抽搐gif免费好疼| 亚洲欧美日韩高清专用| 精品国产亚洲在线| 男人的好看免费观看在线视频| 变态另类成人亚洲欧美熟女| 亚洲欧美一区二区三区黑人| 日韩国内少妇激情av| 91av网站免费观看| 亚洲无线观看免费| 听说在线观看完整版免费高清| 看黄色毛片网站| 国产亚洲欧美在线一区二区| 日日夜夜操网爽| 哪里可以看免费的av片| 天堂网av新在线| 国产精品,欧美在线| 国产综合懂色| 国产免费av片在线观看野外av| 欧美黄色淫秽网站| 麻豆久久精品国产亚洲av| 国产精华一区二区三区| 亚洲精品在线美女| 两个人视频免费观看高清| 国产黄片美女视频| 欧美黑人巨大hd| 又紧又爽又黄一区二区| 男人的好看免费观看在线视频| 女同久久另类99精品国产91| 亚洲成av人片免费观看| 久久精品91蜜桃| 1024手机看黄色片| 999精品在线视频| 国产精品美女特级片免费视频播放器 | 久久久国产欧美日韩av| 亚洲成a人片在线一区二区| 美女大奶头视频| www国产在线视频色| 久久精品夜夜夜夜夜久久蜜豆| 欧美极品一区二区三区四区| 一a级毛片在线观看| 欧美色欧美亚洲另类二区| 午夜福利高清视频| 可以在线观看的亚洲视频| 国产视频一区二区在线看| 丝袜人妻中文字幕| 国产一级毛片七仙女欲春2| 男人和女人高潮做爰伦理| 国产高清视频在线播放一区| 中文字幕精品亚洲无线码一区| 人人妻,人人澡人人爽秒播| 国产视频内射| 18禁黄网站禁片免费观看直播| 亚洲精品456在线播放app | 亚洲国产欧美人成| 中文字幕av在线有码专区| 嫩草影院精品99| 欧美乱色亚洲激情| 偷拍熟女少妇极品色| 少妇的逼水好多| 极品教师在线免费播放| 亚洲自偷自拍图片 自拍| 日本a在线网址| 国产毛片a区久久久久| 欧美在线一区亚洲| 又紧又爽又黄一区二区| 成年人黄色毛片网站| 成人av一区二区三区在线看| 在线看三级毛片| av国产免费在线观看| 日本三级黄在线观看| 丰满的人妻完整版| 中文在线观看免费www的网站| 国产成人系列免费观看| 美女扒开内裤让男人捅视频| 丰满的人妻完整版| 夜夜躁狠狠躁天天躁| 久久久国产精品麻豆| 国内精品一区二区在线观看| 在线观看午夜福利视频| 九九在线视频观看精品| 午夜精品在线福利| 两个人的视频大全免费| 桃色一区二区三区在线观看| 少妇人妻一区二区三区视频| 老司机福利观看| 亚洲片人在线观看| 蜜桃久久精品国产亚洲av| 1024香蕉在线观看| 久久久精品大字幕| 国产精品自产拍在线观看55亚洲| 久久精品亚洲精品国产色婷小说| 亚洲欧美日韩卡通动漫| 国产亚洲av高清不卡| 久9热在线精品视频| 亚洲专区中文字幕在线| 亚洲人成伊人成综合网2020| 日本与韩国留学比较| 中出人妻视频一区二区| 男女做爰动态图高潮gif福利片| 亚洲av成人精品一区久久|