日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java nio2 iocp_基于JDK7 NIO2的高性能web服务器实践之二(转)

發布時間:2024/1/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java nio2 iocp_基于JDK7 NIO2的高性能web服务器实践之二(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前一篇博客,我簡單提了下怎么為NIO2增加TransmitFile支持,文件傳送吞吐量是一個性能關注點,此外,并發連接數也是重要的關注點。

不過JDK7中又一次做了簡單的實現,不支持同時投遞多個AcceptEx請求,只支持一次一個,返回后再投遞。這樣,客戶端連接的接受速度必然大打折扣。不知道為什么sun會做這樣的實現,WSASend()/WSAReceive()一次只允許一個還是可以理解,畢竟簡化了編程,不用考慮封包亂序問題。

也降低了內存耗盡的風險。AcceptEx卻沒有這樣的理由了。

于是再一次為了性能,我增加了同時投遞多個的支持。

另外,在JDK7的默認實現中,AcceptEx返回后,為了設置遠程和本地InetSocketAddress也采用了效率很低的方法。4次通過JNI調用getsockname,2次為了取sockaddr,2次為了取port. 這些操作本人采用GetAcceptExSockaddrs一次完成,進一步提高效率。

先看Java部分的代碼,框架跟JDK7的一樣,細節處理不一樣:

/**

*

*/

package?sun.nio.ch;

import?java.io.IOException;

import?java.lang.reflect.Field;

import?java.lang.reflect.Method;

import?java.net.InetAddress;

import?java.net.InetSocketAddress;

import?java.nio.channels.AcceptPendingException;

import?java.nio.channels.AsynchronousCloseException;

import?java.nio.channels.AsynchronousServerSocketChannel;

import?java.nio.channels.AsynchronousSocketChannel;

import?java.nio.channels.ClosedChannelException;

import?java.nio.channels.CompletionHandler;

import?java.nio.channels.NotYetBoundException;

import?java.nio.channels.ShutdownChannelGroupException;

import?java.security.AccessControlContext;

import?java.security.AccessController;

import?java.security.PrivilegedAction;

import?java.util.Queue;

import?java.util.concurrent.ConcurrentLinkedQueue;

import?java.util.concurrent.Future;

import?java.util.concurrent.atomic.AtomicBoolean;

import?java.util.concurrent.atomic.AtomicInteger;

import?sun.misc.Unsafe;

/**

*?This?class?enable?multiple?'AcceptEx'?post?on?the?completion?port,?hence?improve?the?concurrent?connection?number.

*?@author?Yvon

*

*/

public?class?WindowsMultiAcceptSupport?{

WindowsAsynchronousServerSocketChannelImpl?schannel;

private?static?final?Unsafe?unsafe?=?Unsafe.getUnsafe();

//?2?*?(sizeof(SOCKET_ADDRESS)?+?16)

private?static?final?int?ONE_DATA_BUFFER_SIZE?=?88;

private?long?handle;

private?Iocp?iocp;

//?typically?there?will?be?zero,?or?one?I/O?operations?pending.?In?rare

//?cases?there?may?be?more.?These?rare?cases?arise?when?a?sequence?of?accept

//?operations?complete?immediately?and?handled?by?the?initiating?thread.

//?The?corresponding?OVERLAPPED?cannot?be?reused/released?until?the?completion

//?event?has?been?posted.

private?PendingIoCache?ioCache;

private?Queue?dataBuffers;

//?the?data?buffer?to?receive?the?local/remote?socket?address

//????????private?final?long?dataBuffer;

private?AtomicInteger?pendingAccept;

private?int?maxPending;

Method?updateAcceptContextM;

Method?acceptM;

WindowsMultiAcceptSupport()?{

//dummy?for?JNI?code.

}

public?void?close()?throws?IOException?{

schannel.close();

for?(int?i?=?0;?i?

{

long?addr?=?dataBuffers.poll();

//?release??resources

unsafe.freeMemory(addr);

}

}

/**

*

*/

public?WindowsMultiAcceptSupport(AsynchronousServerSocketChannel?ch,?int?maxPost)?{

if?(maxPost?<=?0?||?maxPost?>?1024)

throw?new?IllegalStateException("maxPost?can't?less?than?1?and?greater?than?1024");

this.schannel?=?(WindowsAsynchronousServerSocketChannelImpl)?ch;

maxPending?=?maxPost;

dataBuffers?=?new?ConcurrentLinkedQueue();

for?(int?i?=?0;?i?

dataBuffers.add(unsafe.allocateMemory(ONE_DATA_BUFFER_SIZE));

}

pendingAccept?=?new?AtomicInteger(0);

try?{

Field?f?=?WindowsAsynchronousServerSocketChannelImpl.class.getDeclaredField("handle");

f.setAccessible(true);

handle?=?f.getLong(schannel);

f?=?WindowsAsynchronousServerSocketChannelImpl.class.getDeclaredField("iocp");

f.setAccessible(true);

iocp?=?(Iocp)?f.get(schannel);

f?=?WindowsAsynchronousServerSocketChannelImpl.class.getDeclaredField("ioCache");

f.setAccessible(true);

ioCache?=?(PendingIoCache)?f.get(schannel);

f?=?WindowsAsynchronousServerSocketChannelImpl.class.getDeclaredField("accepting");

f.setAccessible(true);

AtomicBoolean?accepting?=?(AtomicBoolean)?f.get(schannel);

accepting.set(true);//disable?accepting?by?origin?channel.

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

@SuppressWarnings("unchecked")

public?final??void?accept(A?attachment,

CompletionHandler?handler)?{

if?(handler?==?null)

throw?new?NullPointerException("'handler'?is?null");

implAccept(attachment,?(CompletionHandler)?handler);

}

/**

*?Task?to?initiate?accept?operation?and?to?handle?result.

*/

private?class?AcceptTask?implements?Runnable,?Iocp.ResultHandler?{

private?final?WindowsAsynchronousSocketChannelImpl?channel;

private?final?AccessControlContext?acc;

private?final?PendingFuture?result;

private?final?long?dataBuffer;

AcceptTask(WindowsAsynchronousSocketChannelImpl?channel,?AccessControlContext?acc,

long?dataBuffer,?PendingFuture?result)?{

this.channel?=?channel;

this.acc?=?acc;

this.result?=?result;

this.dataBuffer?=?dataBuffer;

}

void?enableAccept()?{

pendingAccept.decrementAndGet();

dataBuffers.add(dataBuffer);

}

void?closeChildChannel()?{

try?{

channel.close();

}?catch?(IOException?ignore)?{

}

}

//?caller?must?have?acquired?read?lock?for?the?listener?and?child?channel.

void?finishAccept()?throws?IOException?{

/**

*?JDK7?use?4?calls?to?getsockname??to?setup

*?local&?remote?address,?this?is?very?inefficient.

*

*?I?change?this?to?use?GetAcceptExSockaddrs

*/

InetAddress[]?socks?=?new?InetAddress[2];

int[]?ports?=?new?int[2];

updateAcceptContext(handle,?channel.handle(),?socks,?ports,?dataBuffer);

InetSocketAddress?local?=?new?InetSocketAddress(socks[0],?ports[0]);

final?InetSocketAddress?remote?=?new?InetSocketAddress(socks[1],?ports[1]);

channel.setConnected(local,?remote);

//?permission?check?(in?context?of?initiating?thread)

if?(acc?!=?null)?{

AccessController.doPrivileged(new?PrivilegedAction()?{

public?Void?run()?{

SecurityManager?sm?=?System.getSecurityManager();

sm.checkAccept(remote.getAddress().getHostAddress(),?remote.getPort());

return?null;

}

},?acc);

}

}

/**

*?Initiates?the?accept?operation.

*/

@Override

public?void?run()?{

long?overlapped?=?0L;

try?{

//?begin?usage?of?listener?socket

schannel.begin();

try?{

//?begin?usage?of?child?socket?(as?it?is?registered?with

//?completion?port?and?so?may?be?closed?in?the?event?that

//?the?group?is?forcefully?closed).

channel.begin();

synchronized?(result)?{

overlapped?=?ioCache.add(result);

int?n?=?accept0(handle,?channel.handle(),?overlapped,?dataBuffer);//Be?careful?for?the?buffer?address

if?(n?==?IOStatus.UNAVAILABLE)?{

return;

}

//?connection?accepted?immediately

finishAccept();

//?allow?another?accept?before?the?result?is?set

enableAccept();

result.setResult(channel);

}

}?finally?{

//?end?usage?on?child?socket

channel.end();

}

}?catch?(Throwable?x)?{

//?failed?to?initiate?accept?so?release?resources

if?(overlapped?!=?0L)

ioCache.remove(overlapped);

closeChildChannel();

if?(x?instanceof?ClosedChannelException)

x?=?new?AsynchronousCloseException();

if?(!(x?instanceof?IOException)?&&?!(x?instanceof?SecurityException))

x?=?new?IOException(x);

enableAccept();

result.setFailure(x);

}?finally?{

//?end?of?usage?of?listener?socket

schannel.end();

}

//?accept?completed?immediately?but?may?not?have?executed?on

//?initiating?thread?in?which?case?the?operation?may?have?been

//?cancelled.

if?(result.isCancelled())?{

closeChildChannel();

}

//?invoke?completion?handler

Invoker.invokeIndirectly(result);

}

/**

*?Executed?when?the?I/O?has?completed

*/

@Override

public?void?completed(int?bytesTransferred,?boolean?canInvokeDirect)?{

try?{

//?connection?accept?after?group?has?shutdown

if?(iocp.isShutdown())?{

throw?new?IOException(new?ShutdownChannelGroupException());

}

//?finish?the?accept

try?{

schannel.begin();

try?{

channel.begin();

finishAccept();

}?finally?{

channel.end();

}

}?finally?{

schannel.end();

}

//?allow?another?accept?before?the?result?is?set

enableAccept();

result.setResult(channel);

}?catch?(Throwable?x)?{

enableAccept();

closeChildChannel();

if?(x?instanceof?ClosedChannelException)

x?=?new?AsynchronousCloseException();

if?(!(x?instanceof?IOException)?&&?!(x?instanceof?SecurityException))

x?=?new?IOException(x);

result.setFailure(x);

}

//?if?an?async?cancel?has?already?cancelled?the?operation?then

//?close?the?new?channel?so?as?to?free?resources

if?(result.isCancelled())?{

closeChildChannel();

}

//?invoke?handler?(but?not?directly)

Invoker.invokeIndirectly(result);

}

@Override

public?void?failed(int?error,?IOException?x)?{

enableAccept();

closeChildChannel();

//?release?waiters

if?(schannel.isOpen())?{

result.setFailure(x);

}?else?{

result.setFailure(new?AsynchronousCloseException());

}

Invoker.invokeIndirectly(result);

}

}

Future?implAccept(Object?attachment,

final?CompletionHandler?handler)?{

if?(!schannel.isOpen())?{

Throwable?exc?=?new?ClosedChannelException();

if?(handler?==?null)

return?CompletedFuture.withFailure(exc);

Invoker.invokeIndirectly(schannel,?handler,?attachment,?null,?exc);

return?null;

}

if?(schannel.isAcceptKilled())

throw?new?RuntimeException("Accept?not?allowed?due?to?cancellation");

//?ensure?channel?is?bound?to?local?address

if?(schannel.localAddress?==?null)

throw?new?NotYetBoundException();

//?create?the?socket?that?will?be?accepted.?The?creation?of?the?socket

//?is?enclosed?by?a?begin/end?for?the?listener?socket?to?ensure?that

//?we?check?that?the?listener?is?open?and?also?to?prevent?the?I/O

//?port?from?being?closed?as?the?new?socket?is?registered.

WindowsAsynchronousSocketChannelImpl?ch?=?null;

IOException?ioe?=?null;

try?{

schannel.begin();

ch?=?new?WindowsAsynchronousSocketChannelImpl(iocp,?false);

}?catch?(IOException?x)?{

ioe?=?x;

}?finally?{

schannel.end();

}

if?(ioe?!=?null)?{

if?(handler?==?null)

return?CompletedFuture.withFailure(ioe);

Invoker.invokeIndirectly(this.schannel,?handler,?attachment,?null,?ioe);

return?null;

}

//?need?calling?context?when?there?is?security?manager?as

//?permission?check?may?be?done?in?a?different?thread?without

//?any?application?call?frames?on?the?stack

AccessControlContext?acc?=

(System.getSecurityManager()?==?null)???null?:?AccessController.getContext();

PendingFuture?result?=

new?PendingFuture(schannel,?handler,?attachment);

//?check?and?set?flag?to?prevent?concurrent?accepting

if?(pendingAccept.get()?>=?maxPending)

throw?new?AcceptPendingException();

pendingAccept.incrementAndGet();

AcceptTask?task?=?new?AcceptTask(ch,?acc,?dataBuffers.poll(),?result);

result.setContext(task);

//?initiate?I/O

if?(Iocp.supportsThreadAgnosticIo())?{

task.run();

}?else?{

Invoker.invokeOnThreadInThreadPool(this.schannel,?task);

}

return?result;

}

//????//reimplements?for?performance

static?native?void?updateAcceptContext(long?listenSocket,?long?acceptSocket,

InetAddress[]?addresses,?int[]?ports,?long?dataBuffer)?throws?IOException;

static?native?int?accept0(long?handle,?long?handle2,?long?overlapped,?long?dataBuffer);

}

對應的CPP代碼如下:

/*

*?Class:?????sun_nio_ch_WindowsMultiAcceptSupport

*?Method:????updateAcceptContext

*?Signature:?(JJ[Ljava/net/InetAddress;[IJ)V

*/

JNIEXPORT?void?JNICALL?Java_sun_nio_ch_WindowsMultiAcceptSupport_updateAcceptContext

(JNIEnv?*env?,?jclass?clazz,?jlong?listenSocket,?jlong?acceptSocket,?jobjectArray?sockArray,jintArray?portArray,jlong?buf)

{

SOCKET?s1?=?(SOCKET)jlong_to_ptr(listenSocket);

SOCKET?s2?=?(SOCKET)jlong_to_ptr(acceptSocket);

PVOID?outputBuffer?=?(PVOID)jlong_to_ptr(buf);

INT?iLocalAddrLen=0;

INT?iRemoteAddrLen=0;

SOCKETADDRESS*?lpLocalAddr;

SOCKETADDRESS*?lpRemoteAddr;

jobject?localAddr;

jobject?remoteAddr;

jint?ports[2]={0};

setsockopt(s2,?SOL_SOCKET,?SO_UPDATE_ACCEPT_CONTEXT,?(char?*)&s1,?sizeof(s1));

(lpGetAcceptExSockaddrs)(outputBuffer,

0,

sizeof(SOCKETADDRESS)+16,

sizeof(SOCKETADDRESS)+16,

(LPSOCKADDR*)&lpLocalAddr,

&iLocalAddrLen,

(LPSOCKADDR*)&lpRemoteAddr,

&iRemoteAddrLen);

localAddr=lpNET_SockaddrToInetAddress(env,(struct?sockaddr?*)lpLocalAddr,(int?*)ports);

remoteAddr=lpNET_SockaddrToInetAddress(env,(struct?sockaddr?*)lpRemoteAddr,(int?*)(ports+1));

env->SetObjectArrayElement(sockArray,0,localAddr);

env->SetObjectArrayElement(sockArray,1,remoteAddr);

env->SetIntArrayRegion(portArray,0,2,ports);

}

/*

*?Class:?????sun_nio_ch_WindowsMultiAcceptSupport

*?Method:????accept0

*?Signature:?(JJJJ)I

*/

jint?JNICALL?Java_sun_nio_ch_WindowsMultiAcceptSupport_accept0

(JNIEnv?*env,?jclass?clazz,?jlong?listenSocket,?jlong?acceptSocket,?jlong?ov,?jlong?buf)

{

BOOL?res;

SOCKET?s1?=?(SOCKET)jlong_to_ptr(listenSocket);

SOCKET?s2?=?(SOCKET)jlong_to_ptr(acceptSocket);

PVOID?outputBuffer?=?(PVOID)jlong_to_ptr(buf);

DWORD?nread?=?0;

OVERLAPPED*?lpOverlapped?=?(OVERLAPPED*)jlong_to_ptr(ov);

ZeroMemory((PVOID)lpOverlapped,?sizeof(OVERLAPPED));

//why?use?SOCKETADDRESS?

//because?client?may?use?IPv6?to?connect?to?server.

res?=?(lpAcceptEx)(s1,

s2,

outputBuffer,

0,

sizeof(SOCKETADDRESS)+16,

sizeof(SOCKETADDRESS)+16,

&nread,

lpOverlapped);

if?(res?==?0)?{

int?error?=?WSAGetLastError();

if?(error?==?ERROR_IO_PENDING)?{

return?NIO2_IOS_UNAVAILABLE;

}

return?NIO2_THROWN;

}

return?0;

}

這里用到的lpNET_SockaddrToInetAddress是JDK7中NET.DLL暴露的方法,從DLL里加載。相應代碼如下:

*

*?Class:?????com_yovn_jabhttpd_utilities_SunPackageFixer

*?Method:????initFds

*?Signature:?()V

*/

JNIEXPORT?void?JNICALL?Java_com_yovn_jabhttpd_utilities_SunPackageFixer_initFds

(JNIEnv?*env,?jclass?clazz)

{

GUID?GuidAcceptEx?=?WSAID_ACCEPTEX;

GUID?GuidTransmitFile?=?WSAID_TRANSMITFILE;

GUID?GuidGetAcceptExSockAddrs?=?WSAID_GETACCEPTEXSOCKADDRS;

SOCKET?s;

int?rv;

DWORD?dwBytes;

HMODULE?hModule;

s?=?socket(AF_INET,?SOCK_STREAM,?0);

if?(s?==?INVALID_SOCKET)?{

JNU_ThrowByName(env,"java/io/IOException",?"socket?failed");

return;

}

rv?=?WSAIoctl(s,

SIO_GET_EXTENSION_FUNCTION_POINTER,

(LPVOID)&GuidAcceptEx,

sizeof(GuidAcceptEx),

&lpAcceptEx,

sizeof(lpAcceptEx),

&dwBytes,

NULL,

NULL);

if?(rv?!=?0)

{

JNU_ThrowByName(env,?"java/io/IOException","WSAIoctl?failed?on?get?AcceptEx?");

goto?_ret;

}

rv?=?WSAIoctl(s,

SIO_GET_EXTENSION_FUNCTION_POINTER,

(LPVOID)&GuidTransmitFile,

sizeof(GuidTransmitFile),

&lpTransmitFile,

sizeof(lpTransmitFile),

&dwBytes,

NULL,

NULL);

if?(rv?!=?0)

{

JNU_ThrowByName(env,?"java/io/IOException","WSAIoctl?failed?on?get?TransmitFile");

goto?_ret;

}

rv?=?WSAIoctl(s,

SIO_GET_EXTENSION_FUNCTION_POINTER,

(LPVOID)&GuidGetAcceptExSockAddrs,

sizeof(GuidGetAcceptExSockAddrs),

&lpGetAcceptExSockaddrs,

sizeof(lpGetAcceptExSockaddrs),

&dwBytes,

NULL,

NULL);

if?(rv?!=?0)

{

JNU_ThrowByName(env,?"java/io/IOException","WSAIoctl?failed?on?get?GetAcceptExSockaddrs");

goto?_ret;

}

hModule=LoadLibrary("net.dll");

if(hModule==NULL)

{

JNU_ThrowByName(env,?"java/io/IOException","can't?load?java?net.dll");

goto?_ret;

}

lpNET_SockaddrToInetAddress=(NET_SockaddrToInetAddress_t)GetProcAddress(hModule,"_NET_SockaddrToInetAddress@12");

if(lpNET_SockaddrToInetAddress==NULL)

{

JNU_ThrowByName(env,?"java/io/IOException","can't?resolve?_NET_SockaddrToInetAddress?function?");

}

_ret:

closesocket(s);

return;

}

細心的同學可能會發現,在創建socket之前沒有初始化WinSock庫,因為在這段代碼前,我初始化了一個InetSocketAddress對象,這樣JVM會加載NET.DLL并初始化WinSock庫了。

OK,現在,你可以在支持類上同時發起多個AcceptEx請求了。

PS:基于這個我簡單測試了下我的服務器,同時開5000個線程,每個下載3M多點的文件,一分鐘內能夠全部正確完成。

服務器正在開發中,有興趣的請加入:http://code.google.com/p/jabhttpd

總結

以上是生活随笔為你收集整理的java nio2 iocp_基于JDK7 NIO2的高性能web服务器实践之二(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲在线看 | 免费黄色网址网站 | 国产黄在线播放 | 天天操 夜夜操 | 在线免费亚洲 | 日韩在线视频线视频免费网站 | 高清国产一区 | 国产视频一二三 | 9999毛片| 国产午夜精品av一区二区 | 天天艹天天操 | 欧美视频日韩 | 国产999精品久久久久久 | 色婷婷久久一区二区 | 日韩专区中文字幕 | 天天射天天操天天 | av黄色大片 | 97偷拍在线视频 | 在线之家免费在线观看电影 | 免费麻豆视频 | 国产精品24小时在线观看 | 久久久久免费电影 | 69精品视频在线观看 | 亚州国产视频 | 久久久国产精品免费 | 一区二区视频在线看 | 国产在线91在线电影 | 日日爱网站 | 97成人在线视频 | 一区二区三区精品在线视频 | 91精品国产综合久久婷婷香蕉 | 91大神电影 | 亚洲精品美女久久久 | 一区二区三区四区不卡 | a午夜电影 | 色噜噜日韩精品欧美一区二区 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 亚洲黄色成人av | 97超碰人人澡人人 | 免费看久久 | 精品一区三区 | 国产在线观看你懂得 | 国产又粗又猛又黄又爽的视频 | 99国产视频在线 | 久久久久麻豆 | 99久热在线精品视频成人一区 | 五月婷婷在线视频观看 | 久久综合久久综合久久 | 99热在线这里只有精品 | 国产私拍在线 | 啪啪免费视频网站 | 午夜婷婷在线播放 | 一区二区三区四区精品视频 | 精品人人人 | 亚洲综合色视频在线观看 | 黄色av一区二区三区 | 国内精品中文字幕 | 亚洲人av免费网站 | 久久国产精品视频 | 在线观看国产一区 | 久草视频免费看 | 狠狠色噜噜狠狠 | 久久精品超碰 | 一区二区三区四区久久 | 青草视频在线免费 | 国产精品一区二区在线观看免费 | 久久久受www免费人成 | 免费日韩视| 黄色特级一级片 | 久精品视频 | 狠狠干.com | 超碰在线网 | 四虎天堂| 午夜久久视频 | 国产精品原创 | 激情网五月天 | 日韩精品影视 | 免费网站污 | 粉嫩av一区二区三区四区 | 成人黄色在线视频 | 三级在线视频观看 | 成年人在线免费视频观看 | 久久久九色精品国产一区二区三区 | 国产女人免费看a级丨片 | 亚洲伊人成综合网 | 成人九九视频 | 黄色成人av | 色射色| 天天干天天草天天爽 | 免费看片成人 | 中文字幕在线观看视频一区 | japanesexxxhd奶水 91在线精品一区二区 | 99精品国产兔费观看久久99 | 日日干天天 | 国产五月色婷婷六月丁香视频 | 98涩涩国产露脸精品国产网 | 欧美成人影音 | 中文字幕在线观看视频一区二区三区 | 337p欧美 | 亚洲日本欧美在线 | 久久久久久久久久亚洲精品 | 国产亚洲久久 | 精品久久久久国产免费第一页 | 日韩二区精品 | 久久精品综合网 | 91亚洲欧美 | 麻豆视频国产精品 | 免费视频黄 | 天天做天天爱天天爽综合网 | 黄色av电影免费观看 | 亚洲人av免费网站 | 久久亚洲婷婷 | 亚洲精品男人的天堂 | 在线激情小视频 | 啪啪精品| 黄色软件大全网站 | 9i看片成人免费看片 | 精品一二三四视频 | 在线最新av | 天天射天天爱天天干 | 亚洲精品视频中文字幕 | 日韩中文字幕在线看 | 免费观看丰满少妇做爰 | 中文字幕精品三级久久久 | av成人在线播放 | 久久久在线视频 | 国内视频一区二区 | 国产精品久久久久久99 | a精品视频 | 黄色成人av在线 | 色偷偷97 | 黄色毛片观看 | 99婷婷狠狠成为人免费视频 | 欧美色图30p | 国产精品乱码久久久 | 国产黑丝一区二区 | 97电影在线看视频 | 综合色婷婷| 久久99精品一区二区三区三区 | 天天干天天草天天爽 | 亚一亚二国产专区 | 精品在线观看一区二区三区 | 免费在线观看成人av | 国产不卡免费视频 | 免费看三级黄色片 | 国产精品18久久久久久久久 | 91麻豆精品国产午夜天堂 | 中文字幕黄网 | 天天爱天天射天天干天天 | 国产视频一区二区三区在线 | 三级av片 | 1024手机看片国产 | 91久久精品一区二区三区 | 香蕉久草在线 | 日韩在线一级 | 欧美日韩精品在线免费观看 | 久久久久9999亚洲精品 | 99国产精品一区 | 日韩专区 在线 | 69国产精品视频 | 黄色av一级| 在线国产高清 | 成人一区二区在线观看 | 五月天亚洲婷婷 | 中文字幕亚洲在线观看 | 久久草在线精品 | 超碰在线97免费 | 国产精品久久久久影院日本 | 精品欧美一区二区在线观看 | 男女全黄一级一级高潮免费看 | 五月开心色 | 国产精品第10页 | 亚洲性xxxx | 麻豆传媒视频在线 | 91在线精品秘密一区二区 | 91精品在线看 | 欧美一区二区在线免费观看 | 色噜噜在线观看 | av丝袜在线| 精品日韩视频 | 亚洲视频在线观看网站 | 久久久久久毛片 | 天天草天天草 | 五月婷婷在线综合 | 丁香高清视频在线看看 | 一区二区三区在线看 | 国产精品久久久久9999吃药 | 亚洲精品美女 | 亚洲91中文字幕无线码三区 | 日韩午夜av电影 | 欧美日韩国产一区二区三区 | 久久精品国产一区二区 | 五月婷婷狠狠 | 黄色影院在线播放 | 91在线视频导航 | 三级av片 | 热久久免费视频 | 日日日操| 亚洲va韩国va欧美va精四季 | 色综合久久综合中文综合网 | 亚洲国产精品影院 | 97国产在线视频 | 久一在线 | 欧美日韩精品在线免费观看 | 3d黄动漫免费看 | 亚洲第二色 | 99视频在线精品国自产拍免费观看 | 色噜噜在线观看 | 久影院| 日本丰满少妇免费一区 | 国产精品免费看 | 91视频 - 114av| 91福利在线观看 | 欧美专区日韩专区 | 超碰97公开 | 激情一区二区三区欧美 | 国内精品久久久久久中文字幕 | 天天插日日操 | 天天爱天天草 | 中国成人一区 | 日韩av免费一区 | 在线欧美小视频 | 天天色天天干天天 | 亚洲精品乱码久久久久久蜜桃不爽 | 在线精品视频免费观看 | av韩国在线| 久久久国产精华液 | 午夜精品久久久久久久99水蜜桃 | 成人午夜免费福利 | 国产午夜精品理论片在线 | 激情视频免费在线观看 | 麻花天美星空视频 | 国产麻豆精品久久一二三 | 九九在线视频 | 免费黄在线看 | 成片视频在线观看 | 中文字幕久久精品一区 | 色香蕉在线视频 | 欧美日韩在线观看不卡 | 91成人精品国产刺激国语对白 | 一级特黄av| 久久99精品波多结衣一区 | 久久精品com | 国产一级视频在线免费观看 | 91麻豆精品国产自产在线 | 亚洲精品国产精品国产 | 国产高清在线免费观看 | 蜜桃视频成人在线观看 | 久久激情视频 久久 | 久在线 | 亚洲特级毛片 | 精品网站999www | 91试看| 国产精品91一区 | 国产在线成人 | 五月激情久久 | 日韩夜夜爽 | 99九九99九九九视频精品 | 国产精品日韩高清 | 五月婷婷毛片 | 91精品一区二区三区久久久久久 | 国产亚洲一级高清 | 超碰在线亚洲 | 最近日本中文字幕 | 欧美视频在线观看免费网址 | 91.精品高清在线观看 | 亚洲精区二区三区四区麻豆 | 久久久精品国产免费观看一区二区 | 在线视频一二三 | 久草免费在线 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 久久久影院 | 久99久中文字幕在线 | 国产又粗又硬又爽视频 | 欧美一级专区免费大片 | 国产高清精 | 在线午夜电影神马影院 | 亚洲成人频道 | 欧美激情综合五月色丁香 | 98涩涩国产露脸精品国产网 | 二区在线播放 | 韩国精品一区二区三区六区色诱 | 国产一区在线视频观看 | 精品一区二区6 | 在线av资源 | 欧美专区日韩专区 | 激情综合中文娱乐网 | 国产97视频在线 | 久久精品电影 | 亚洲国产精品激情在线观看 | 人人爽爽人人 | 中文字幕在线观看亚洲 | 色婷婷88av视频一二三区 | 丁香六月五月婷婷 | 日批视频在线播放 | av成人免费在线观看 | 97超碰伊人| 青青河边草免费 | 黄色片网站免费 | 久久无码精品一区二区三区 | 天天色天天操天天爽 | 69av在线视频 | 午夜精品久久久久久久99无限制 | 日日夜夜精品视频天天综合网 | 超碰在线观看av.com | 91成人免费看| 国产香蕉在线 | 婷婷丁香综合 | 国产在线视频资源 | 91在线欧美| 国产精品区二区三区日本 | www色| 深爱婷婷 | 亚洲人人射 | 97在线观视频免费观看 | 免费黄色在线网址 | 久久爱综合 | 色av资源网 | av网址aaa| 娇妻呻吟一区二区三区 | 婷婷丁香av | 国产精品观看在线亚洲人成网 | 国产精品大片免费观看 | 久久精品国产一区二区 | 国产精品欧美久久久久三级 | 91人人澡 | 亚洲视屏在线播放 | 日韩精品久久久久久久电影竹菊 | 福利精品在线 | 高清不卡一区二区三区 | 国产一区播放 | 国产欧美久久久精品影院 | 黄av免费在线观看 | 日韩系列在线 | 亚洲国产小视频在线观看 | 国产精品久久久久久高潮 | 手机在线看片日韩 | 国产日韩精品一区二区三区 | 色午夜| 国产黄在线 | 国产精品一区二区中文字幕 | 日韩久久视频 | 亚洲精品久久久久www | 成年人免费在线观看 | 国产日韩欧美视频在线观看 | 天天天天色综合 | 99re6热在线精品视频 | 日本久久视频 | av 一区二区三区四区 | 九色91在线视频 | 8090yy亚洲精品久久 | 最近最新最好看中文视频 | 日日操夜 | 五月香视频在线观看 | 久久人人艹 | 久热免费在线观看 | 国产中的精品av小宝探花 | 亚洲欧美综合 | 天天爱天天操天天干 | 精品国产a | 国产在线美女 | 亚洲资源网 | 色先锋资源网 | 精品一区在线看 | 久久久久久久18 | 国内精品小视频 | 国产中文字幕亚洲 | 中文在线免费看视频 | a√天堂中文在线 | 五月婷久久 | 2023国产精品自产拍在线观看 | 国产精品久久99综合免费观看尤物 | 婷婷六月中文字幕 | 久久久久国产a免费观看rela | 亚洲高清久久久 | 欧美一区二区三区特黄 | 成人av影院在线观看 | 亚洲免费不卡 | 亚洲精品中文在线资源 | www久久久久| www.黄色片网站 | 99久久精品免费一区 | 日本公妇色中文字幕 | www国产精品com | 黄色一级在线观看 | 精品成人在线 | 中文字幕高清有码 | 久久精品国产99 | 久久久久久久久久久免费av | 久操97 | 美女黄频 | 日韩a在线 | 精品在线二区 | 久久久国产在线视频 | 99热.com| 99久e精品热线免费 99国产精品久久久久久久久久 | 99这里都是精品 | 天天操天天爽天天干 | www五月天com| 六月丁香激情综合 | 国产福利一区二区三区在线观看 | 天天干天天操天天操 | 国产精品福利小视频 | www.夜色.com | 国产精品毛片久久蜜 | 日韩精品免费一区二区在线观看 | 正在播放国产一区二区 | 精品91视频| 精品成人在线 | 中文字幕日韩免费视频 | 亚洲成av人片在线观看无 | 在线观看韩国av | 亚洲成av人片一区二区梦乃 | 亚洲永久av | 欧美精品xx | 日韩成年视频 | 久久九九国产精品 | 美女网站视频一区 | 91亚洲精品久久久久图片蜜桃 | 99在线免费观看视频 | 成人黄色小说视频 | 超碰人人av | 午夜精品电影 | 精品一区二区在线免费观看 | av成人在线看 | 在线观看日韩视频 | 亚洲美女久久 | 一级淫片在线观看 | 国产精品久久久一区二区 | 日韩精品久久一区二区 | 国产在线观看,日本 | 热久久影视 | 日韩99热 | 成人网在线免费视频 | 午夜精品福利影院 | 久久综合毛片 | 五月激情天| 人人爽人人看 | 精选久久 | 久久天天躁狠狠躁亚洲综合公司 | 久久久久女人精品毛片九一 | 91视频91色| 国产成人亚洲在线观看 | 在线播放日韩av | 黄色av在| 日女人免费视频 | 丁香激情综合国产 | av激情五月 | 中文字幕一区二区三区在线播放 | 91中文字幕在线视频 | 成人黄色免费观看 | 丁香六月婷婷综合 | 久久成人在线 | 国产 日韩 欧美 在线 | 2022久久国产露脸精品国产 | 国产一区二区精品久久 | 黄色在线观看免费网站 | 日本久久成人中文字幕电影 | 怡红院久久 | 99精品在线观看视频 | 欧美一区二区三区在线视频观看 | 成人污视频在线观看 | 91看片在线播放 | av成人在线看| 国产亚洲精品久久久久久大师 | av三级在线看 | 91看国产| 国产精品美女久久久免费 | 亚洲成av片人久久久 | 色偷偷网站视频 | 久久综合久久综合九色 | 免费看污片 | 黄色91免费观看 | 国产黄色免费 | 成年人在线观看视频免费 | 亚洲综合小说电影qvod | 成年人在线观看视频免费 | 日日弄天天弄美女bbbb | 五月婷婷色综合 | 久久综合九色综合97_ 久久久 | 免费看高清毛片 | 肉色欧美久久久久久久免费看 | 手机看片午夜 | 国产精品毛片久久久久久久 | 国产黑丝一区二区三区 | 国产999免费视频 | 成年人视频在线免费观看 | 亚洲天堂网在线视频观看 | 婷婷在线免费观看 | 成年人在线 | 国产成人一区三区 | 婷婷丁香在线 | 99久久日韩精品免费热麻豆美女 | 国产二区视频在线观看 | 国产精品大片在线观看 | 精品在线观看一区二区 | av理论电影 | 91自拍视频在线 | 国产一区高清在线 | 国产一区二区三区黄 | 国产又粗又长又硬免费视频 | 日韩精品视频一二三 | 综合天天久久 | 美女网站视频一区 | 天天操天天吃 | 99爱视频在线观看 | 久久五月天综合 | 免费色视频网址 | 日韩大片免费观看 | 最近免费中文字幕mv在线视频3 | 2023国产精品自产拍在线观看 | 国产黄色精品在线观看 | 欧美一二区在线 | 欧洲精品亚洲精品 | 午夜视频欧美 | 久久国产精品一区二区 | 日韩久久精品一区二区三区 | 最新影院 | 日韩中文字幕在线不卡 | 精品视频在线观看 | www.com久久 | 激情开心站 | 国产黄色片一级三级 | 在线最新av | 探花视频在线观看+在线播放 | 免费又黄又爽的视频 | 国产小视频免费在线观看 | 欧美成人播放 | 一区二三国产 | 天天曰天天曰 | 亚洲综合在线视频 | 国产一级片播放 | 黄色免费高清视频 | 中字幕视频在线永久在线观看免费 | 日本精品久久久久中文字幕5 | 我要看黄色一级片 | 人人射人人爱 | 久久无码av一区二区三区电影网 | 五月天精品视频 | 密桃av在线 | 伊人干综合 | 一区二区精品在线观看 | 国产精品免费视频久久久 | 国产一级精品在线观看 | 亚洲免费永久精品国产 | 久久久亚洲精华液 | 国产一在线精品一区在线观看 | 日日爽视频 | 99中文在线 | 免费三级影片 | 麻豆国产网站 | 亚洲精品小视频在线观看 | 欧美激情视频一二区 | av在线官网 | 91豆花在线 | 久久8精品 | 97av精品| 欧美黄色软件 | 欧美国产日韩一区二区三区 | 国产成人亚洲在线观看 | 国产中文字幕在线免费观看 | 黄色亚洲 | 五月婷婷欧美 | 九色福利视频 | 成人免费色 | 国产999免费视频 | 99精品视频在线看 | 午夜国产福利在线 | 欧美精品一二三 | 亚洲 综合 精品 | 午夜久久网站 | 亚洲视频一区二区三区在线观看 | 日韩成人一级大片 | 91精品久久久久久久久 | 97影视 | 色在线免费视频 | 国产爽视频 | 六月婷色 | 日本精品二区 | 99视频在线观看一区三区 | 99精品国产福利在线观看免费 | 久久久久女教师免费一区 | 人人爱爱人人 | 91视频午夜 | 91免费在线播放 | 国产一级a毛片视频爆浆 | 91在线视频一区 | 青青草国产成人99久久 | 久久综合亚洲鲁鲁五月久久 | 午夜精品福利在线 | 丁香婷婷激情国产高清秒播 | 国产成人av免费在线观看 | 99久久日韩精品免费热麻豆美女 | 免费在线观看av | 日批网站在线观看 | 国产麻豆精品传媒av国产下载 | 在线 国产 日韩 | 97精品视频在线播放 | 九九日韩| 免费91麻豆精品国产自产在线观看 | 99久久久国产免费 | 亚洲精品视频在线免费 | 美女视频黄网站 | 成年人在线免费看视频 | 色婷婷亚洲精品 | 久久在线电影 | 麻豆视频91 | 亚洲精品永久免费视频 | 日韩理论电影在线 | 成人四虎 | 久久综合之合合综合久久 | 91九色成人 | 国产精品电影一区二区 | 国产成人精品一区二区三区福利 | 久久久综合电影 | 成人免费视频在线观看 | 色婷婷六月天 | 国产一区在线免费观看视频 | 在线最新av | 亚洲影视资源 | 日韩一区二区三免费高清在线观看 | 欧美精品免费一区二区 | 久久这里只有精品首页 | avwww在线 | 天天天天天天操 | 黄色小网站在线观看 | 开心综合网| 久久字幕 | 亚洲精品午夜一区人人爽 | 五月天天色 | 欧美午夜性 | 奇米网8888 | 久久av免费电影 | 成人小视频在线播放 | 成人毛片在线观看视频 | 国产精品久久嫩一区二区免费 | 麻豆果冻剧传媒在线播放 | 成人午夜电影在线播放 | 久久99国产综合精品免费 | 香蕉蜜桃视频 | 国产三级精品三级在线观看 | 成年人国产在线观看 | 欧美日本中文字幕 | 日韩在线视频观看免费 | 日韩黄色软件 | 国产亲近乱来精品 | 精品久久免费 | 午夜美女福利直播 | 在线免费观看欧美日韩 | 国产亚洲精品久久 | 国产女v资源在线观看 | 久久九精品| 免费看亚洲毛片 | 国产婷婷精品 | www..com黄色片| 超碰在线中文字幕 | 日韩在线观看视频免费 | 免费av免费观看 | 色鬼综合网 | 成人在线视频你懂的 | 综合伊人av | 国产精品免费久久久久久 | 久草在线电影网 | 特级黄色一级 | 亚洲资源在线网 | 韩国av免费 | 丁香视频五月 | 日韩电影中文字幕在线观看 | 天堂av免费看 | 国产精品精品国产色婷婷 | 久久影视中文字幕 | 中文字幕日韩国产 | 欧美性生爱 | 五月婷婷在线观看视频 | 国产又粗又硬又爽视频 | 国产中文自拍 | 麻豆久久精品 | 97精品超碰一区二区三区 | 在线观看91精品国产网站 | 亚洲激情五月 | 国产婷婷在线观看 | 四虎最新域名 | 黄色小说在线免费观看 | 日韩动态视频 | 国产一二三四在线观看视频 | 亚洲精品国产精品国自产观看 | 午夜精品av在线 | 99综合影院在线 | www.人人草 | 中文字幕91在线 | 欧美日韩亚洲精品在线 | 国产主播大尺度精品福利免费 | 有码中文字幕在线观看 | 国产不卡网站 | 亚洲精选在线观看 | 中文字幕中文字幕在线中文字幕三区 | 免费看短 | 国产精品青草综合久久久久99 | 日韩美一区二区三区 | 黄色一级性片 | 午夜精品剧场 | 中文字幕亚洲精品在线观看 | 日韩三级视频在线观看 | 午夜色性片 | 91亚洲国产| 日韩精品中文字幕一区二区 | 91激情视频在线观看 | 碰超在线观看 | 韩国av电影在线观看 | 国产福利久久 | 黄色一级在线视频 | 美女免费视频一区二区 | 久久久久久久久毛片 | 免费高清av在线看 | 伊人婷婷综合 | 亚洲综合在线播放 | 日本久久久影视 | 国产成人精品久久久久 | 全黄网站 | 中文字幕 国产视频 | 又黄又刺激又爽的视频 | 黄色av网站在线观看 | 四虎成人精品在永久免费 | 一级片免费观看视频 | 中文字幕有码在线观看 | 丰满少妇一级片 | 免费在线观看一级片 | 日韩理论 | 91高清完整版在线观看 | 日韩在线视频免费观看 | 欧美精品久久久久性色 | 日韩| 久久久久成人精品亚洲国产 | 日日精品| 一区二区三区在线电影 | 日韩av在线高清 | 精品一区91 | www久草| 中文字幕 婷婷 | 成人毛片一区二区三区 | 国产一区二区不卡视频 | 日韩区欧美久久久无人区 | 久久社区视频 | 在线免费av网站 | 天天激情综合 | 成 人 黄 色视频免费播放 | 国产综合小视频 | 特级黄色一级 | 青青河边草免费视频 | 丁香九月激情综合 | 91字幕| 色视频在线看 | 色.com| 久久久久久久久黄色 | 美女网站在线播放 | 丁香狠狠 | 美女视频黄是免费的 | 国产精品自产拍在线观看中文 | 成人aⅴ视频 | 毛片精品免费在线观看 | 亚洲精品国产第一综合99久久 | 美女黄频在线观看 | 中文字幕在线看视频国产中文版 | 日韩免费电影一区二区 | 亚洲欧美日本一区二区三区 | 色91在线视频 | 国产视频1区2区 | 亚洲视频电影在线 | 欧美最猛性xxxxx(亚洲精品) | 欧美日本在线观看视频 | 色综合久久久网 | 99精品久久久久 | 美女啪啪图片 | 日韩精品最新在线观看 | 日韩一区二区三区免费电影 | 91在线日韩 | 午夜精品久久久久久久99婷婷 | 久久综合久久综合久久 | 国产精品一区二区在线观看免费 | 国产一级a毛片视频爆浆 | 五月天,com| 91尤物国产尤物福利在线播放 | 夜夜骑日日操 | 天天操人人要 | 亚洲欧美怡红院 | 808电影| 亚洲3级 | 麻豆视频在线观看免费 | 久久精品一二区 | 久青草视频 | 西西444www大胆高清视频 | 99久久久国产精品免费99 | 日本在线观看黄色 | 亚洲最大色 | 亚洲精品在线免费播放 | 日韩精品欧美视频 | 懂色av懂色av粉嫩av分享吧 | 欧美精选一区二区三区 | va视频在线 | 久久大片网站 | 欧美一级日韩免费不卡 | 在线观看av小说 | 99久久毛片 | 在线播放亚洲激情 | 日日干夜夜骑 | 免费在线激情电影 | 亚州人成在线播放 | 高清av在线免费观看 | 精品国产乱子伦一区二区 | 亚洲永久精品在线观看 | 欧美一区免费观看 | 视频在线日韩 | 天堂v中文 | 国产小视频免费观看 | 美国av大片 | 久久免费国产视频 | 麻豆观看 | 欧美另类性 | 国产精品99久久免费黑人 | 日韩欧美一区二区不卡 | 日韩在线视频网站 | 在线亚洲日本 | 精品亚洲va在线va天堂资源站 | 成人日批视频 | 日本久久电影 | 波多野结依在线观看 | 国产精品免费看 | 国产视频精选 | 美女精品网站 | 国产91精品看黄网站在线观看动漫 | 九九久久免费 | 九九九九九九精品 | 国产免费三级在线观看 | 青草视频在线看 | av永久网址| 久久国产精品一二三区 | 免费网站v | 久久亚洲精品电影 | 三级a视频 | 黄色av大片 | 国产在线视频一区二区 | 一级淫片在线观看 | www.综合网.com | 国产理论免费 | 国产精品1区2区在线观看 | 日韩黄视频 | 手机在线小视频 | 国产97在线播放 | 久久久久久久免费 | 亚洲色综合 | 久久天堂影院 | 色偷偷网站视频 | 五月天丁香 | 日韩av电影免费观看 | 日韩欧美视频在线观看免费 | 成人在线小视频 | 亚洲婷婷丁香 | a黄色大片| 久久超级碰 | 激情av在线资源 | 天天色天天射综合网 | 日韩免费电影一区二区 | 日韩中文字幕免费在线观看 | 波多野结衣在线观看视频 | 亚洲国产成人在线播放 | 天天干天天操天天操 | 中文字幕精品三区 | 国产成人精品久 | 欧美激情精品久久久 | 国产中文视频 | 一区二区三区动漫 | 久久综合综合久久综合 | 最近中文字幕久久 | 国产精品久久久久久久久久三级 | 亚洲精品456在线播放乱码 | 日本大片免费观看在线 | 欧美激情视频三区 | 国产精品美女久久久 | 久久夜靖品 | 在线观影网站 | 成人国产精品久久久春色 | 黄色成人在线观看 | 高清一区二区三区av | 久久超碰99| 中文字幕一区二区三区久久蜜桃 | 黄色免费大片 | 天堂视频一区 | 久久99国产精品自在自在app | 国产视频久久久 | 精品在线视频一区 | 免费看污片 | 亚洲 欧美日韩 国产 中文 | 久久久首页 | 日韩视频免费 | av理论电影 | 亚洲综合色视频在线观看 | 2023天天干 | 不卡av在线 | 国产精品欧美一区二区三区不卡 | 日韩成片 | 91你懂的 | 日产av在线播放 | 色婷婷综合久色 | 国产精品99久久久久 | av电影中文字幕 | 精品国产一区二区三区在线 | 中文字幕在线视频第一页 | 国产a高清| 久久艹国产 | 国产精品乱码一区二区视频 | 五月婷婷免费 | 日韩二区在线播放 | 91黄色小网站 | 亚洲一区二区三区在线看 | 久久久人| 我要色综合天天 | 99精品观看| 亚洲人视频在线 | 国产亚洲一区 | 亚洲日本va中文字幕 | 超碰在线免费97 | 黄色av影视| 黄色亚洲在线 | 中文在线字幕免费观看 | 国产一区欧美日韩 | 久久久国产精品一区二区三区 | 久久久久免费电影 | 久久人人添人人爽添人人88v | 视频在线观看国产 | 亚洲国产小视频在线观看 | 日韩在线一二三区 | 日韩在线 一区二区 | 久久久999精品视频 国产美女免费观看 | 国产人免费人成免费视频 | 欧美一区免费在线观看 | 亚洲高清资源 | 久久久精品网站 | 中文字幕一区二区三区视频 | av色一区| 欧美成人影音 | 91色网址 | 国产一区二区精品 | 日韩精品视频在线观看免费 | 国产精品久久久av久久久 | www.午夜视频 | 国产va在线| 久草在线99 | 久久视频精品在线观看 | 中文字幕在线精品 | 97超级碰 | 99热高清 | 亚洲精品久久久蜜桃直播 | 色婷婷国产精品 | 免费看的国产视频网站 | 麻豆91精品91久久久 | 亚洲午夜精品在线观看 | 奇米网网址 | 天天操天天摸天天干 | 亚洲免费av网站 | 久久精品com| 九九热免费在线视频 | 91在线影视| 黄色综合 | 六月激情网| 久久这里| avsex| 免费看日韩 | 久久久在线 | 日韩精品视频免费在线观看 | 黄色精品久久久 | 99精品视频在线免费观看 | 免费网站黄 | 国产精品高潮在线观看 | 国产黄色高清 | 久久激情电影 | 91资源在线免费观看 | 国产亚洲精品久久 | 9999精品视频 | 天堂网一区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 亚洲乱码中文字幕综合 | 国产精品一区二区免费视频 | 国产美女视频一区 | 女女av在线 | 麻豆91在线 | 91精品国产91久久久久久三级 | 超黄视频网站 | 丝袜制服综合网 | 久久久精品电影 | 日韩欧美99 | 色99久久 | 中文字幕在线观看完整版电影 | 国产a级片免费观看 | 日韩欧美视频在线免费观看 | 久久久资源网 | 四虎影视久久久 | 色综合久久88色综合天天6 | 一区二区视频在线看 |