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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Winsock网络编程快速入门

發布時間:2023/12/18 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Winsock网络编程快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、基本知識

?

1、Winsock,一種標準API,一種網絡編程接口,用于兩個或多個應用程序(或進程)之間通過網絡進行數據通信。具有兩個版本:

Winsock 1:

Windows CE平臺支持。

頭文件:WinSock.h

庫:wsock32.lib

?

Winsock 2:

部分平臺如Windows CE貌似不支持。通過前綴WSA可以區別于Winsock 1版本。個別函數如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都屬于Winsock 1.1規范的函數;

頭文件:WinSock2.h

庫:ws2_32.lib

?

mswsock.h用于編程擴展,使用時必須鏈接mswsock.dll。

?

2、網絡協議:

IP (Internet Protocol)? 網際協議,無連接協議;

TCP (Transmission Control Protocol)? 傳輸控制協議;

UDP (User Datagram Protocol)? 用戶數據協議;

FTP (File Transfer Protocol)? 文件傳輸協議;

HTTP (Hypertext Transfer Protocol)? 超文本傳輸協議;

?

3、字節存儲順序:

big_endian:大端存儲,存儲順序從高位到低位,地址指向最高有效字節。在網絡中將IP和端口指定為多字節時使用大端存儲,也稱為網絡字節順序(network_byte)。貌似MAC OS使用的是大端存儲方式;

?

little_endian:小端存儲,存儲順序從低位到高位,地址指向最低有效字節。本地主機存儲IP和端口制定的多字節時使用,也稱為主機字節順序(host_byte)。大多數系統都是小端存儲;

?

用下面的方式可以檢測是否為大端存儲:

print?

bool IsBig_endian()?

{?

??? unsigned short test = 0x1122;?

??? if ( *( (unsigned char*)&test ) == 0x11 )?

??? {?

??????? return true;?

??? }??

??? else?

??? {?

??????? return false;?

??? }?

}?

?

此外有很多函數可以用來進行 主機字節和網絡字節之間的轉換,如:

u_long htonl( u_long hostlong );

int WSAHtonl( SOCKET s, u_long hostlong, u_long FAR *lpnetlong );

而有時網絡IP是點分法表示的,如:192.168.0.1,使用函數unsigned long inet_addr( const char FAR *cp ); 可以將點分法的IP字符串作為一個網絡字節順序的32位u_long返回。

?

?

二、快速了解

?

1、Winsock初始化:

首先確保包含對應版本的頭文件,然后保證鏈接對應的庫文件(可以在代碼中使用#pragma comment(lib, "WS2_32"),或在編譯器項目屬性中鏈接器->輸入->附加依賴項中添加ws2_32.lib);

?通過調用WSAStartup函數來實現加載Winsock庫:

print?

int?

WSAAPI?

WSAStartup(?

??? IN WORD wVersionRequested,?

??? OUT LPWSADATA lpWSAData?

??? );?

其中參數wVersionRequested用來指定加載Winsock庫的版本,高位字節為次版本,低位字節為主版本,使用宏MAKEWORD(x,y)來生成一個WORD;

參數lpWSAData是指向WASDATA結構指針,加載的版本庫信息將會填充這個結構,詳細內容自查。

在使用Winsock后需要釋放資源,并取消應用程序掛起的Winsock操作。使用int WASCleanup();

?

?

2、錯誤處理:

如果已經加載了Winsock庫,則調用Winsock函數出錯后,通常會返回SOCKET_ERROR,而通過使用函數int WSAGetLastError() 可以獲得具體信息值,例如:

print?

if ( SOCKET_ERROR == WSACleanup() )?

{?

??? cout << "WSACleanup error " << WSAGetLastError() << endl;?

??? return 0;?

}?

根據獲取錯誤信息值,可以知道錯誤原因,并進行相應的處理。

?

?

3、尋址:

想要進行通信就需要知道彼此的地址,一般來說這個地址由IP和端口號來決定。在Winsock中使用SOCKADDR_IN結構來指定地址信息:

print?

struct sockaddr_in {?

??????? short?? sin_family;?

??????? u_short sin_port;?

??????? struct? in_addr sin_addr;?

??????? char??? sin_zero[8];?

};?

sin_family字段通常設置為AF_INET,表示Winsock此時正在使用IP地址族;

sin_port用于標示TCP或UDP通信端口,部分端口是為一些服務保留的,如FTP和HTTP使用要注意;

sin_adr字段把地址(例如是IPv4地址)作為一個4字節的量來存儲起來,它是u_long類型,且是網絡字節順序的。可以使用inet_addr來處理點分法表示的IP地址;

sin_zero只充當填充項,以使SOCKADDR_IN結構和SOCKADDR結構長度一樣。

以下簡單的使用SOCKADDR_IN來指定地址:

print?

//創建一個地址?

int serverPort????? = 5150;?

?

char FAR serverIP[] = "192.168.1.102"; //本機ip,不知道就ipconfig?

?

SOCKADDR_IN serverAddr;?

serverAddr.sin_family?? = AF_INET;?

serverAddr.sin_port = htons( serverPort );?

serverAddr.sin_addr.s_addr? = inet_addr( serverIP );?

int serverAddr_size = static_cast<int>( sizeof(serverAddr) );?

有時作為一個連接通信的服務端來說,在設置監聽socket的地址結構時sin_addr.s_addr的值可以是htonl( INADDR_ANY ),INADDR_ANY允許將socket綁定到系統中所有可用的接口,以便傳到任意接口的連接(端口必須正確)都可以被監聽socket接受。

?

?

4、socket套接字:

套接字是通信時為傳輸提供的句柄,Winsock的操作都是基于套接字實現的。創建一個套接字有socket和WSASocket方法:

print?

SOCKET?

WSAAPI?

socket(?

?????? IN int af,?????? //協議的地址族,使用IPv4來描述Winsock,設置為AF_INET?

?????? IN int type,???? //套接字類型,TCP/IP設置為SOCK_STREAM,UDP/IP設置為SOCK_DGRAM?

?????? IN int protocol????? //用于給定地址族和類型具有多重入口的傳送限定,TCP設置為IPPROTO_TCP,UDP設置為IPPROTO_UDP?

?????? );?

如果創建成功,函數會返回一個有效的SOCKET,否則會返回INVALID_SOCKET,可以用WSAGetLastError()函數獲得錯誤信息。

?

?

5、連接通信實現過程:

連結通信是基于TCP/IP實現的,進行數據傳輸前,通信雙方要進行連接。

?

服務端:

初始化Winsock后,創建一個監聽socket和一個要接受連接的地址結構;

使用bind將監聽socket與地址結構進行關聯;

print?

int?

WSAAPI?

bind(?

???? IN SOCKET s,?????????????? //一個用于監聽的socket?

???? IN const struct sockaddr FAR * name,?? //指向進行綁定的地址結構?

???? IN int namelen???????????? //進行綁定的地址結構的大小?

???? );?

使用listen將bind成功的監聽socket狀態設置為監聽狀態;

print?

int?

WSAAPI?

listen(?

?????? IN SOCKET s, ????//一個用于監聽的socket,已經進行bind?

?????? IN int backlog?????? //允許掛起連接的隊列的最大長度,超過這個長度后,再有連接將會失敗?

?????? );?

?

使用accept接受通過監聽socket獲取的連接,成功后將返回的新的連接socket進行保存以便數據傳輸;

print?

SOCKET?

WSAAPI?

accept(?

?????? IN SOCKET s,???????? //處于監聽模式的socket?

?????? OUT struct sockaddr FAR * addr,? //指向一個地址結構,用來接受連接后獲得對方地址信息?

?????? IN OUT int FAR * addrlen???? //指向一個整數,表示參數2指向地址結構的大小?

?????? );?

?

?

客戶端:

初始化Winsock后,創建一個監聽socket和一個要連接的服務器地址結構;

使用connect將socket和服務器地址結構進行初始化連接,成功后將使用socket進行數據傳輸;

print?

int?

WSAAPI?

connect(?

??????? IN SOCKET s,??????????? //要建立連接的socket?

??????? IN const struct sockaddr FAR * name,??? //指向保存要建立連接信息的地址結構?

??????? IN int namelen????????? //參數2指向地址結構的大小?

??????? );?

?

?

連接成功后,使用send、recv來進行數據傳輸;

print?

int?

WSAAPI?

send(?

???? IN SOCKET s,?????? //進行連接的socket?

???? IN const char FAR * buf,?? //指向發送數據的緩沖區?

???? IN int len,??????? //發送數據的字符數?

???? IN int flags?????? //一個標志位,可以是0、MSG_DONTROUTE、MSG_OOB還可以是他們的或運算結果?

???? );???????? //返回已經發送的數據長度?

?

?

int?

WSAAPI?

recv(?

???? IN SOCKET s,?????? //進行連接的socket?

???? OUT char FAR * buf,??? //指向接受數據的緩沖區?

???? IN int len,??????? //準備接受數據字節數或緩沖區的長度?

???? IN int flags?????? //可以是0、MSG_PEEK、MSG_OOB還可以是他們的或運算結果?

???? );???????? //返回已接受的數據長度?

?

連接結束后,使用shutdown和closesocket來斷開連接和釋放資源;

print?

int?

WSAAPI?

shutdown(?

???????? IN SOCKET s,?? //要關閉的socket?

???????? IN int how //關閉標志:SD_RECEIVE、SD_SEND、SD_BOTH?

???????? );?

?

?

6、無連接通信實現過程:

無連接通信是基于UDP/IP實現的,UDP不能確保可靠的數據傳輸,但能將數據發送到多個目標,或者接受多個源的數據。

初始化Winsock后,可以創建socket和用以進行通信任意地址結構;

使用recvfrom通過socket和通信的地址結構接受數據;

使用sendto通過socket和通信的地址結構發送數據;

print?

int?

WSAAPI?

recvfrom(?

???????? IN SOCKET s,?

???????? OUT char FAR * buf,?

???????? IN int len,?

???????? IN int flags,?

???????? OUT struct sockaddr FAR * from,?

???????? IN OUT int FAR * fromlen?

???????? );?

?

int?

WSAAPI?

sendto(?

?????? IN SOCKET s,?

?????? IN const char FAR * buf,?

?????? IN int len,?

?????? IN int flags,?

?????? IN const struct sockaddr FAR * to,?

?????? IN int tolen?

?????? );?

?

同樣通信結束后,使用shutdown和closesocket來斷開連接和釋放資源

?

?

上述使用函數都有多個版本,而且相關的一些標志位參數可以提供設置選項,另外,返回的錯誤處理等也有待于詳細研究;

?

?

7、select函數:

?

select()用于確定一個或多個套接口的狀態。對每一個套接口,調用者可查詢它的可讀性、可寫性及錯誤狀態信息。

print?

int?

WSAAPI?

select(?

?????? IN int nfds,???????? //指集合中所有文件描述符的范圍,即所有文件描述符的最大值加1,在Windows中值無所謂。??

?????? IN OUT fd_set FAR * readfds, //可選指針,指向一組等待可讀性檢查的套接字。??

?????? IN OUT fd_set FAR * writefds,??? //可選指針,指向一組等待可寫性檢查的套接字。?

?????? IN OUT fd_set FAR *exceptfds,??? //可選指針,指向一組等待錯誤檢查的套接字。?

?????? IN const struct timeval FAR * timeout??? //select()最多等待時間,對阻塞操作則為NULL。?

?????? );?

?

//用fd_set結構來表示一組等待檢查的套接口。在調用返回時,這個結構存有滿足一定條件的套接口組的子集:?

?

typedef struct fd_set {?

??? u_int fd_count;?????????????? //其中set元素數目?

??? SOCKET? fd_array[FD_SETSIZE]; //保存set元素的數組?

} fd_set;?

?

fd_set set;?

FD_ZERO(&set);????? /*將set清零使集合中不含任何fd*/   ?

FD_SET(fd, &set);?????? /*將fd加入set集合*/   ?

FD_CLR(fd, &set);?????? /*將fd從set集合中清除*/   ?

FD_ISSET(fd, &set);???? /*測試fd是否在set集合中*/??

?

select的返回值:

select()調用返回處于就緒狀態并且已經包含在fd_set結構中的描述字總數;

如果超時則返回0;否則的話,返回SOCKET_ERROR錯誤,通過WSAGetLastError獲取相應錯誤代碼。

當返回位0時,所有描述符集清0;

當返回為-1時,不修改任何描述符集;

當返回為非0時,在3個描述符集里,依舊是1的位就是準備好的描述符。這也就是為什么,每次用select后都要用FD_ISSET的原因。

?

?

三、簡單實踐

?

利用上述內容,實現一個基于TCP/IP的連接通信。

?

服務端:

?

//******************************************************************

print?

#include "stdafx.h"?

?

#include <iostream>?

?

#include <WinSock2.h>?

?

#pragma comment(lib, "WS2_32")?

?

?

using namespace std;?

?

?

?

# define REQUEST_BACKLOG 5?

?

?

//******************************?

//好吧不用寫這些糾結的函數,就是看著清晰些?

//初始化Winsock?

bool InitWSA( const WORD &wVersion, WSADATA *wsadata )?

{?

??? int Ret = 0;?

??? if ( ( Ret = WSAStartup( wVersion,wsadata ) ) != 0 )?

??? {?

??????? cout << "WSAStartup failed, error "? << Ret << endl;?

?

??????? return false;?

??? }?

?

??? return true;?

}?

?

?

//結束Winsock?

void cleanWSA()?

{?

??? if ( WSACleanup() == SOCKET_ERROR )?

??? {?

??????? cout << "WSACleanup failed, error "? << WSAGetLastError() << endl;?

??? }?

}?

?

?

?

//IPv4尋址,通過ip填充SOCKADDR_IN結構?

void InitSockAddrByIP( SOCKADDR_IN *pSockAddr, const char FAR *strIP, const INT &nPortID )?

{?

??? pSockAddr->sin_family??????????? = AF_INET;?

?

??? pSockAddr->sin_port????????????? = htons( nPortID );?

?

??? if ( 0 != strlen(strIP) )?

??? {?

??????? pSockAddr->sin_addr.s_addr?????? = inet_addr( strIP );?

??? }?

??? else?

??? {?

??????? pSockAddr->sin_addr.s_addr?????? = htonl( INADDR_ANY );?

??? }?

}?

?

?

//bind?

bool bindAddr( const SOCKADDR_IN *pSockAddr, SOCKET *pSocket )?

{?

??? int bindResult = bind( *pSocket, (sockaddr *)(pSockAddr), sizeof(*pSockAddr));?

?

??? if ( SOCKET_ERROR == bindResult )?

??? {?

??????? cout << "bind error :" << WSAGetLastError() << endl;?

??????? return false;?

??? }??

??? return true;?

}?

?

?

//listen?

bool setListener( SOCKET *pSocket, int backlog )?

{?

??? int nResult = listen( *pSocket, backlog );?

?

??? if ( SOCKET_ERROR == nResult )?

??? {?

??????? cout << "listen error :" << WSAGetLastError() << endl;?

??????? return false;?

??? }??

??? return true;?

}?

?

?

?

?

?

//******************************?

?

?

//程序入口?

int _tmain(int argc, _TCHAR* argv[])?

{?

?

??? //初始化Winsock?

??? WSADATA wsadata;?

??? if ( !InitWSA( MAKEWORD(2,2), &wsadata ) )?

??? {?

??????? return 0;?

??? }?

?

?

??? //指定連接ip地址和服務器口?

?

??? SOCKADDR_IN InternetAddr;?

??? //char FAR strIP[]? = "198.0.0.0";?

??? char FAR strIP[]??? = "";?

??? INT nPortID???????? = 5150;?

??? InitSockAddrByIP( &InternetAddr, strIP, nPortID );?

?

?

?

??? //創建listener_socket?

??? SOCKET listener_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );?

??? if ( INVALID_SOCKET == listener_socket )?

??? {?

??????? cout << "listener_socket creat failed " << endl;?

??????? return 0;?

??? }?

?

?

??? //bind?

??? if ( !bindAddr( &InternetAddr, &listener_socket ) )?

??? {?

??????? return 0;?

??? }?

?

?

??? //監聽?

??? if ( !setListener( &listener_socket, REQUEST_BACKLOG ) )?

??? {?

??????? return 0;?

??? }?

?

??? cout << "server started~~~ " << endl;?

?

?

?

??? //創建socket保存結構?

??? fd_set fdSocket;?

??? FD_ZERO( &fdSocket );?

??? FD_SET( listener_socket, &fdSocket );?

?

?

??? //查找可讀的socket?

??? while( true )?

??? {?

??????? fd_set fdSocket_temp;?

??????? fdSocket_temp = fdSocket;?

?????????

??????? fd_set fdRead;?

??????? fdRead = fdSocket;?

?

??????? fd_set fdExceptds;?

??????? fdExceptds = fdSocket;?

?

??????? int nResult_select = select( 0, &fdRead, NULL, &fdExceptds, NULL );?

?

??????? if ( 0 < nResult_select )?

??????? {?

??????????? unsigned int socket_count = fdSocket_temp.fd_count;?

??????????? for ( unsigned int i=0; i< socket_count; i++ )?

??????????? {?

?

??????????????? //可讀的?

?

??????????????? if ( FD_ISSET( fdSocket_temp.fd_array[i], &fdRead ) )?

??????????????? {?

??????????????????? //找到所有可讀連接?

??????????????????? if ( fdSocket_temp.fd_array[i] == listener_socket )?

??????????????????? {?

??????????????????????? if ( fdSocket.fd_count < FD_SETSIZE )?

??????????????????????? {?

?

?????????????????????????

??????????????????????????? //接受新的連接?

???????????????????? ???????SOCKADDR_IN ClientAddr;?

??????????????????????????? int addrlen = static_cast<int>(sizeof(ClientAddr));?? //一定要賦值?

?

??????????????????????????? SOCKET newClient_socket = accept( listener_socket, (sockaddr *)&ClientAddr, &addrlen );?

????????? ??????????????????if ( INVALID_SOCKET == newClient_socket )?

??????????????????????????? {?

??????????????????????????????? cout << " accept error " << WSAGetLastError() << endl;?

??????????????????????????? }?

??????????????????????????? else?

????? ??????????????????????{?

??????????????????????????????? FD_SET( newClient_socket, &fdSocket );?

??????????????????????????????? cout << "find new connect: " << inet_ntoa( ClientAddr.sin_addr ) << endl;?

??????????????????????????? }?

??????????????????????? }?

?

??????????????????????? else?

??????????????????????? {?

??????????????????????????? cout<<"too much connections"<<endl;?

??????????????????????????? continue;?

??????????????????????? }?

?

??????????????????? }??

??? ????????????????else?

??????????????????? {?

?

??????????????????????? //接收數據?

?

??????????????????????? char recvbuff[1024];?

??????????????????????? int? ret = 0;?

?

??????????????????????? ret = recv( fdSocket_temp.fd_array[i], recvbuff, static_cast<int>( strlen(recvbuff) ), 0 );?

??????????????????????? if ( 0 < ret )?

??????????????????????? {?

??????????????????????????? recvbuff[ret] = '\0';?

??????????????????????????? cout << "recv : " << recvbuff << endl;?

??????????????????????????? //回復?

??????????????????????????? char backbuf[1024] = "receive info!";?

??????????????????????????? send( fdSocket_temp.fd_array[i], backbuf, static_cast<int>( strlen(backbuf) ), 0 );?

?????????????

??????????????????????? }?

??????????????????????? else?

??????????????????????? {?

??????????????????????????? //該連接斷開?

??????????????????????????? closesocket( fdSocket_temp.fd_array[i] );?

??????????????????????????? FD_CLR( fdSocket_temp.fd_array[i], &fdSocket );?

???????? ???????????????}?

?

??????????????????? }?

?????????????????????

??????????????? }?

??????????????? else if( fdSocket_temp.fd_array[i] != listener_socket )?

??????????????? {?

??????????????????? //該連接斷開?

??????????????????? closesocket( fdSocket_temp.fd_array[i] );?

??????????????????? FD_CLR( fdSocket_temp.fd_array[i], &fdSocket );?

??????????????? }?

?

?

??????????????? if ( FD_ISSET( fdSocket_temp.fd_array[i], &fdExceptds )? &&? (fdSocket_temp.fd_array[i] != listener_socket) )?

?????????? ?????{?

??????????????????? //該連接斷開?

??????????????????? closesocket( fdSocket_temp.fd_array[i] );?

??????????????????? FD_CLR( fdSocket_temp.fd_array[i], &fdSocket );?

??????????????? }?

?????

??????????? }//end for?

??????? }?

?

?

??????? else if( SOCKET_ERROR == nResult_select )?

??????? {?

??????????? cout << "select error : " << WSAGetLastError() << endl;?

??????????? return 0;?

??????? }?

?

?

??????? Sleep( 50 );??? //不要挑戰你的機器?

?

??? }//end while?

?

?

??? closesocket( listener_socket );?

??? cleanWSA();?

?

??? return 0;?

}?

?

?

?

客戶端:

?

//******************************************************************

print?

#include "stdafx.h"?

?

#include <WinSock2.h>?

?

#include <iostream>?

?

#pragma comment(lib, "WS2_32")?

?

using namespace std;?

?

?

?

?

int _tmain(int argc, _TCHAR* argv[])?

{?

??? int result = 0;?

?

??? //初始化winsock?

?

??? WSADATA wsadata;?

??? result = WSAStartup( MAKEWORD(2,2), &wsadata );?

?

??? if ( 0 != result )?

??? {?

??????? cout << "WSAStartup error " << result << endl;?

??????? return 0;?

??? }?

?

??? //創建一個地址?

??? int serverPort????? = 5150;?

?

??? char FAR serverIP[] = "192.168.1.102"; //本機ip,不知道就ipconfig?

?

??? SOCKADDR_IN serverAddr;?

??? serverAddr.sin_family?????? = AF_INET;?

??? serverAddr.sin_port???????? = htons( serverPort );?

??? serverAddr.sin_addr.s_addr? = inet_addr( serverIP );?

??? int serverAddr_size???????? = static_cast<int>( sizeof(serverAddr) );?

?

??? //創建一個socket?

??? SOCKET socket_toServer;?

??? socket_toServer = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );?

??? if ( INVALID_SOCKET == socket_toServer )?

??? {?

??????? cout << "socket_toServer creat failed " << WSAGetLastError() << endl;?

??????? return 0;?

??? }?

?

?????

??? //連接?

??? result = connect( socket_toServer, (sockaddr *)&serverAddr, serverAddr_size );?

??? if ( SOCKET_ERROR == result )?

??? {?

??????? cout << "connect error :" << WSAGetLastError() << endl;?

??????? return 0;?

??? }?

?

?????

??? char sendbuff[2048];?

??? char recvbuff[2048];?

?

??? while( true )?

??? {?

??????? cout << "input send info:" << endl;?

??????? cin >> sendbuff;?

?

??????? int ret = send( socket_toServer, sendbuff, static_cast<int>( strlen(sendbuff) ), 0 );?

??????? if ( SOCKET_ERROR == ret )?

??????? {?

??????????? cout << "send error " << WSAGetLastError() <<? endl;?

??????????? break;?

??????? }?

?

??????? //處理接受的消息,由于之前沒有accept和listen,這里使用recvfrom來接受?

??????? int nRecv = 0;?

??????? nRecv = recvfrom( socket_toServer, recvbuff, static_cast<int>( strlen(recvbuff) ), 0, (sockaddr *)&serverAddr, &serverAddr_size );?

??????? if ( 0 < nRecv )?

??????? {?

?? ?????????recvbuff[nRecv] = '\0';?

??????????? cout << "receive : " << recvbuff << endl;?

??????????? cout << "from : " << inet_ntoa( serverAddr.sin_addr ) << endl;?

??????????? cout << " " << endl;?

??????? }?

??? }?

?

?

??? //清除各種數據和鏈接?

?

??? closesocket( socket_toServer );?

?

??? if ( SOCKET_ERROR == WSACleanup() )?

??? {?

??????? cout << "WSACleanup error " << WSAGetLastError() << endl;?

??????? return 0;?

??? }?

?????

?

??? return 0;?

}?

總結

以上是生活随笔為你收集整理的Winsock网络编程快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久婷婷国产色一区二区三区 | 黄色www在线观看 | 99久精品| 久久桃花网 | 天天射天天艹 | av丝袜在线| 91人人爽久久涩噜噜噜 | 美女网站在线 | 亚洲高清在线观看视频 | 麻豆高清免费国产一区 | 国产一区二区久久久久 | 91桃色免费视频 | 成人va视频 | 亚洲国产精品一区二区尤物区 | 成年人黄色在线观看 | 天天综合天天做 | 欧美日本不卡高清 | 9ⅰ精品久久久久久久久中文字幕 | 久久国产精品99久久人人澡 | 伊人久久在线观看 | 91福利在线导航 | 一区二区三区在线不卡 | 美女久久久久久 | 日韩在线观看免费 | 日韩精品无| 日韩资源在线观看 | 在线观看一区二区视频 | 人人玩人人添人人澡超碰 | av中文资源在线 | 国精产品一二三线999 | 久久久美女| 精品国模一区二区 | 99热精品国产一区二区在线观看 | 亚洲黄在线观看 | 成人国产精品免费观看 | 亚洲日本欧美在线 | 九月婷婷人人澡人人添人人爽 | 国产福利一区二区在线 | 亚洲精品乱码久久久久久蜜桃动漫 | 亚洲国产三级在线 | 99久久精品无免国产免费 | 综合网av | 欧美激情综合五月色丁香 | 国产高清一 | 成人小视频在线观看免费 | 日韩一区二区免费在线观看 | 久久综合网色—综合色88 | 亚洲综合在线五月天 | 91在线成人 | 成人在线你懂得 | 久久久.com | 国产最新精品视频 | 久久精品欧美一区二区三区麻豆 | 日韩毛片在线一区二区毛片 | 又黄又爽的视频在线观看网站 | 亚洲一区二区三区在线看 | 日本天天色 | 香蕉久草在线 | 91精品伦理| 亚洲成人资源在线观看 | 日韩av片无码一区二区不卡电影 | 香蕉看片| 国产精品一区二区在线看 | 亚洲五月花 | 综合精品久久久 | 国产精品美女久久久久久久网站 | 久久 亚洲视频 | 4438全国亚洲精品在线观看视频 | 激情五月开心 | 精品一二三四视频 | 国产精品一区二区无线 | 91人人澡人人爽 | 在线综合色 | 免费在线播放视频 | 色婷五月 | 亚洲欧美日韩一区二区三区在线观看 | 久久久久北条麻妃免费看 | 欧美精品在线观看 | 日韩中文字幕免费 | 国产精品久久人 | 8x8x在线观看视频 | 久久av一区二区三区亚洲 | www.五月天婷婷 | 日韩中文字幕一区 | 欧洲精品久久久久毛片完整版 | 日韩中字在线观看 | 国产成人99av超碰超爽 | 高清av不卡 | 久久免费视频观看 | 激情网在线视频 | 2019中文 | 欧美精品久久久久久久久久 | 亚洲精品ww| 激情综合网五月激情 | 99这里只有 | 麻豆精品91| 国产亚洲婷婷免费 | 女人18毛片a级毛片一区二区 | 在线观看中文字幕一区 | 麻豆视频免费 | 麻豆视传媒官网免费观看 | 男女精品久久 | 韩国三级一区 | 午夜精品电影 | 国产成人精品午夜在线播放 | 亚洲尺码电影av久久 | 婷婷综合电影 | 五月天,com | 免费十分钟 | av电影在线观看完整版一区二区 | 日韩毛片在线一区二区毛片 | 亚洲国产成人在线观看 | 2023年中文无字幕文字 | 精品国产乱码久久久久久1区2匹 | 三级性生活视频 | 久久午夜剧场 | 午夜精品一区二区国产 | 中文字幕在线色 | 丁香电影小说免费视频观看 | 国产精品视频地址 | 男女视频国产 | 亚洲国产精选 | 国产精品一区二区三区四区在线观看 | 99精品黄色| 婷婷久久综合网 | 毛片网站在线观看 | 成人欧美一区二区三区在线观看 | 综合伊人av | 免费看国产a | 亚洲免费成人 | 一区在线观看 | 蜜臀av夜夜澡人人爽人人桃色 | 偷拍精品一区二区三区 | 免费亚洲精品视频 | 久久精品国产免费 | 久久久这里有精品 | 色多多污污在线观看 | 婷婷 中文字幕 | 成人在线视频网 | 日韩三级在线观看 | 成人在线免费观看网站 | 日韩精品在线免费播放 | 午夜精品久久久久久99热明星 | 国产精品自产拍在线观看蜜 | 精品国产一区二区三区久久 | 一区二区三区在线电影 | 国内精品久久久久久久影视简单 | 97超视频免费观看 | 中文字幕在线观看第二页 | 91精品国产欧美一区二区 | 在线免费观看视频你懂的 | 成人国产精品免费观看 | 午夜国产福利在线 | 91人网站 | 超碰在97| 免费观看黄 | av中文字幕在线免费观看 | 久久视频在线观看免费 | 亚洲成人一二三 | 麻豆传媒视频在线免费观看 | 精品国产成人在线影院 | 久久观看最新视频 | 久久天堂影院 | 91高清免费看 | 日韩av影视在线观看 | 国内外成人免费在线视频 | 国产特黄色片 | 成人免费观看视频网站 | 国产精品美 | 国内成人精品视频 | 国产美女久久久 | 不卡的av电影| 久久久久久久久久久久电影 | 欧美91精品国产自产 | 在线有码中文 | 免费在线国产视频 | 西西人体4444www高清视频 | 91精品成人| 九九精品视频在线观看 | 少妇av网 | 99精品成人 | 在线观看日韩国产 | 国产高清视频免费在线观看 | 国产精品视频在线看 | 日日干日日| 中字幕视频在线永久在线观看免费 | 狠狠色丁香婷婷 | 日韩欧美高清免费 | 麻豆系列在线观看 | 中文字幕xxxx| 亚洲男女精品 | 亚洲欧洲日韩在线观看 | 中文国产成人精品久久一 | 欧美孕交vivoestv另类 | 精品国产一区二区三区四区vr | 91亚·色 | 日韩中文字幕视频在线 | 精品在线视频一区 | 免费在线观看国产精品 | 欧美精品首页 | 91x色| 国产视频在线免费观看 | 视频在线观看入口黄最新永久免费国产 | 久久人操 | 天天操狠狠操 | 99热这里只有精品8 久久综合毛片 | 国产成a人亚洲精v品在线观看 | 成片人卡1卡2卡3手机免费看 | 九色最新网址 | 国产日韩三级 | 亚洲精品777 | www.夜夜操.com | 亚洲涩涩涩 | 国产免费亚洲 | 亚洲精品一区二区三区新线路 | 久久99久久99精品免费看小说 | 色噜噜狠狠狠狠色综合久不 | 国产精品久久久久久一二三四五 | 精品国产免费人成在线观看 | 在线成人av| 81国产精品久久久久久久久久 | 亚洲精品午夜久久久 | 麻豆超碰| 国产成人在线看 | 成人久久国产 | 91在线资源 | 欧美网站黄色 | а天堂中文最新一区二区三区 | 国产色网| 精品美女久久 | 久久在线影院 | 欧美精品一区二区在线播放 | 久久在线电影 | 91久久奴性调教 | 日韩av免费在线看 | 91精品国产自产在线观看永久 | 欧美性免费 | 在线91视频 | 国产精品久久久久久吹潮天美传媒 | 91亚洲精品在线观看 | 日韩欧美一区二区三区免费观看 | 久久视频在线观看 | 91麻豆高清视频 | 天天插综合网 | 亚洲精品在线免费观看视频 | 国产精品久久精品 | 狠狠躁夜夜a产精品视频 | 国产淫片| 天天干天天操天天射 | 亚州黄色一级 | 99热在线国产精品 | 丝袜+亚洲+另类+欧美+变态 | 午夜精品一区二区国产 | 91久久奴性调教 | 国产精品s色 | 天天天天天天天操 | 91成人精品一区在线播放69 | 五月婷视频 | 色婷婷午夜| 国产一区二区三区在线免费观看 | 天天插狠狠插 | 中文视频在线看 | 亚洲黄污 | 日日夜夜天天射 | 免费在线观看国产精品 | 欧美一级艳片视频免费观看 | 91精品啪啪 | 日韩在线观看视频一区二区三区 | 波多野结衣在线观看视频 | 九九免费观看视频 | 午夜影院在线观看18 | 激情五月网站 | 精品xxx | www.99久久.com | 亚洲成年片 | 中文字幕视频网 | 特级西西www44高清大胆图片 | 久久电影色| 人人添人人澡人人澡人人人爽 | 色综合天天射 | 91精品在线视频观看 | 丁香色综合 | 久久视频这里只有精品 | 午夜精品一区二区三区四区 | 成人精品一区二区三区电影免费 | 久久精品欧美日韩精品 | 日韩成人中文字幕 | 日韩成人在线免费观看 | 偷拍视频一区 | 91福利区一区二区三区 | 国产不卡精品视频 | 亚洲美女精品视频 | 99人成在线观看视频 | 视频一区视频二区在线观看 | www.久久久精品 | 日韩黄色中文字幕 | 亚洲精品动漫成人3d无尽在线 | 麻豆精品视频在线观看免费 | 狠狠色丁香 | 色婷婷激情五月 | 日韩久久精品一区二区 | 超碰人人做 | 国产精品剧情在线亚洲 | 四虎在线观看 | 国产精品久久久久三级 | 国产va饥渴难耐女保洁员在线观看 | 成人国产精品电影 | 午夜精品久久久久久久99热影院 | 国产一级免费播放 | 日本中文字幕在线观看 | 免费看片成人 | 正在播放五月婷婷狠狠干 | 九九热在线视频 | 欧美一级片在线观看视频 | 久草99| 精品在线播放 | 91精品在线视频观看 | 97在线影视 | 欧美一级久久久久 | 99九九免费视频 | 99热播精品 | 亚洲精品在线观看不卡 | 国产中文在线观看 | 午夜视频在线观看一区二区三区 | 亚洲精品免费观看 | 91色影院 | 国产亚洲精品福利 | av免费看av | 国产成人99久久亚洲综合精品 | 日韩一级电影在线观看 | 69国产成人综合久久精品欧美 | 欧洲一区二区三区精品 | 欧美成人tv | 国内精品视频在线播放 | 国内精品在线观看视频 | 色免费在线 | 一区二区三区免费在线观看视频 | 久精品视频在线观看 | av免费在线看网站 | 国产大片免费久久 | 91综合久久一区二区 | 久久久国产精品电影 | av资源中文字幕 | 日韩激情视频 | 久久精品久久综合 | 国产成视频在线观看 | 91豆花在线| 97国产精品亚洲精品 | 亚洲va欧洲va国产va不卡 | 日韩黄色免费电影 | 久久人人爽人人爽人人片av软件 | 亚洲国产午夜精品 | 国产在线播放一区二区三区 | 91av在线国产| www.狠狠色 | 婷婷四房综合激情五月 | 国产美女久久 | 亚洲精品在线电影 | 91在线永久 | 成人小视频在线观看免费 | 热久久国产精品 | 免费av小说| 久久精品高清视频 | 黄色的网站在线 | 91综合色 | 成人在线免费观看视视频 | 综合网欧美| 精品综合久久 | 五月激情久久久 | 免费日韩 精品中文字幕视频在线 | 99久久精品国产一区二区成人 | 久久精品成人 | 亚洲特级毛片 | 天天操天天摸天天爽 | 日韩欧美网站 | 不卡av在线免费观看 | 99情趣网视频 | 天天做天天看 | 久久久久久免费毛片精品 | 日韩精品一区二区三区免费观看 | 日韩69视频 | 九九三级毛片 | 99久久精品免费一区 | 在线视频一区观看 | 手机在线看a | 国产精品三级视频 | 日韩二区三区在线观看 | 久久国产精彩视频 | 日韩免费b | 高清av影院 | 亚洲年轻女教师毛茸茸 | av一级黄| 亚洲一区二区观看 | 日韩av一区二区在线影视 | 不卡av电影在线 | 麻豆视频国产 | 久久色视频 | 精品在线视频播放 | 在线看黄色的网站 | 国产a精品 | 麻豆视频免费播放 | 欧美成年人在线视频 | 色的网站在线观看 | 国产精品v欧美精品 | 国产黄色成人av | 国产精品永久久久久久久久久 | 久久综合中文色婷婷 | 欧美特一级片 | 国产成人a亚洲精品 | 国产精品视频内 | 欧美精品久久久久久 | 99热高清 | 在线播放视频一区 | 国产综合片 | 色婷婷色 | av色图天堂网 | 欧美日韩一区二区在线观看 | 国产精品免费视频一区二区 | 亚洲午夜在线视频 | 亚洲影视九九影院在线观看 | 亚洲视频精品在线 | 国产香蕉久久精品综合网 | 久久毛片视频 | 中文字幕中文字幕中文字幕 | 伊人五月天婷婷 | 国产精品手机在线播放 | 91在线播放综合 | 欧美精品免费一区二区 | 久草在线视频看看 | 91成人亚洲 | 国产高清福利在线 | 亚洲九九九在线观看 | 一区二区三区高清在线 | 91看片成人 | 欧美成人aa | 99免费精品 | 国产一区二区久久久 | 国产欧美在线一区 | 蜜臀久久99精品久久久久久网站 | 天天操夜夜逼 | 国产成人福利在线观看 | 国产精品久久久久一区 | 99久久综合国产精品二区 | 国产91精品看黄网站 | 看片黄网站| 久草影视在线观看 | 五月香婷 | 欧美亚洲精品一区 | 有码中文字幕在线观看 | 国产一级淫片在线观看 | 少妇按摩av| 日韩高清免费在线 | 天天艹天天操 | 久久久福利影院 | 在线视频国产区 | 香蕉久久国产 | 免费在线看v | 00av视频| 欧美日韩国产二区三区 | 精产嫩模国品一二三区 | 国产精品理论片在线观看 | 天天综合天天综合 | 日韩精品一区电影 | 亚洲人xxx | 99精品视频在线免费观看 | 在线观看完整版 | 国产一区视频免费在线观看 | 国产黄色av | 日韩免费观看高清 | 国产专区在线播放 | 免费观看午夜视频 | 亚洲精区二区三区四区麻豆 | 亚洲欧美日韩国产精品一区午夜 | 天天爱天天舔 | 天天艹 | 国产精品va视频 | 精品国产一区二区三区久久久蜜臀 | 黄色特一级 | 久久国产视屏 | 91亚洲精品国偷拍自产在线观看 | 日韩精品久久久 | 精品久久一区二区三区 | 久久午夜网 | 国产成人三级 | 一级片视频在线 | 精品国产乱码久久久久久浪潮 | 亚洲精品国偷自产在线91正片 | 99在线观看免费视频精品观看 | 91av视频网站 | 日韩高清一二区 | 精品国模一区二区 | av免费网站观看 | 成人一区在线观看 | 在线观看av国产 | 久久99影院 | 在线观看免费黄色 | 国产精品v a免费视频 | 国产一区二区三区在线 | 97在线观看免费高清完整版在线观看 | 欧美成人黄色 | 人人dvd| 久久精品免视看 | 天天爱天天色 | 国产综合片 | 日韩av免费一区二区 | 国产在线观看99 | 国产成人在线一区 | 免费的国产精品 | 日韩视频免费 | 超碰在线天天 | 色综合久久88 | 综合色亚洲 | 午夜精品电影 | 欧美一级片在线免费观看 | 亚洲成人av一区二区 | 国产五码一区 | 亚洲狠狠婷婷综合久久久 | 91c网站色版视频 | 99久久婷婷国产一区二区三区 | 91在线91拍拍在线91 | 久久精品aaa | 4hu视频| 亚洲精品国产精品乱码不99热 | 草久久久 | 免费av观看网站 | 久久综合狠狠综合久久综合88 | 婷婷精品国产欧美精品亚洲人人爽 | 天操夜夜操 | 亚洲精欧美一区二区精品 | 香蕉网址| 国产成人在线观看 | 日韩免费一级a毛片在线播放一级 | 在线观看日韩视频 | 亚洲国产精品成人女人久久 | 少妇性xxx| 黄色三级视频片 | 久久99国产综合精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲精品视频偷拍 | 日韩欧美国产精品 | 香蕉视频国产在线 | 狠狠的日日 | a视频在线 | 成年人在线视频观看 | 免费视频黄色 | 国产精品毛片久久久久久 | 日韩一级片网址 | 成人免费一区二区三区在线观看 | 免费在线成人av | 人人澡人人爽 | 国产一区二区电影在线观看 | 精品一二区 | 国产精品国产三级国产aⅴ入口 | 国内成人精品2018免费看 | 久久综合欧美精品亚洲一区 | 不卡在线一区 | 黄色软件视频网站 | 久99久视频| 国产精品久久久久国产精品日日 | 97视频精品| 天天综合入口 | 亚洲小视频在线 | 免费在线观看一区二区三区 | 九九久久婷婷 | av久久久| 在线观看中文字幕av | 在线三级av| 69av视频在线观看 | 日韩爱爱片 | 美女国内精品自产拍在线播放 | 激情丁香月 | 草久在线观看视频 | 亚洲一二区精品 | 啪啪精品 | 精品一区二区6 | 国产第一页精品 | 精产嫩模国品一二三区 | 九九热国产 | 日韩在线视频在线观看 | 欧美日韩在线精品一区二区 | 在线观看日韩精品 | 在线观看免费视频 | 国产一区二区免费在线观看 | 91在线视频观看免费 | 欧美国产在线看 | 菠萝菠萝蜜在线播放 | 91视频在线免费观看 | 肉色欧美久久久久久久免费看 | 国产免费观看视频 | 欧美淫aaa免费观看 日韩激情免费视频 | 视频二区在线视频 | 91免费在线 | 夜夜操网站 | 91高清免费观看 | 精品国自产在线观看 | 亚洲做受高潮欧美裸体 | 久久精品麻豆 | 91av电影在线观看 | 夜夜操天天操 | 国产视频不卡 | 2022中文字幕在线观看 | av在线看网站 | 国产精品国产三级在线专区 | 色婷婷av国产精品 | 国产精品一区二区三区四区在线观看 | 丁五月婷婷 | 成人av片在线观看 | 超碰电影在线观看 | 久久久久亚洲精品中文字幕 | 婷婷五情天综123 | 国产区精品在线观看 | 亚洲精品88欧美一区二区 | 国产精品一区二区三区在线播放 | 国产免费高清视频 | 成年人在线免费看视频 | 一区二区欧美在线观看 | 三级a视频 | 欧美日韩高清在线 | 五月综合久久 | 亚洲v精品 | 视频在线播放国产 | 精品一二三四视频 | 丝袜网站在线观看 | 亚洲人久久久 | 女人18精品一区二区三区 | 亚洲国产精品激情在线观看 | 射久久久| 97涩涩视频 | 国产99久久久国产精品免费二区 | 在线视频 精品 | 亚洲天天在线日亚洲洲精 | av成人免费网站 | 国产一区二区手机在线观看 | 婷婷色婷婷 | av网址最新| 69国产盗摄一区二区三区五区 | 依人成人综合网 | 亚洲在线看 | 久久人人艹 | 五月天中文在线 | 久久久伦理 | 天天操天天射天天舔 | 极品久久久| 天天操天天干天天 | 亚洲视频中文 | 99久久久国产精品免费99 | 日日色综合 | 日本精品视频一区二区 | 中文字幕第一页在线vr | 日韩黄色免费看 | 欧美国产日韩一区二区三区 | 亚洲视频在线免费看 | 在线国产视频一区 | 热热热热热色 | 欧美精品国产综合久久 | 免费成人av | 日韩精品一区二区三区不卡 | 手机在线日韩视频 | av中文天堂在线 | 久久精品国产久精国产 | 久久一二区| 久久国产亚洲精品 | 韩国精品视频在线观看 | 亚洲国产精品人久久电影 | 日日夜夜操操操操 | 天天操夜夜逼 | 色婷丁香 | 亚洲性xxxx | 国产四虎在线 | 久久超碰免费 | 亚洲不卡av一区二区三区 | 国产一级在线视频 | 精品一区二区在线免费观看 | 黄色高清视频在线观看 | 热re99久久精品国产66热 | 国产欧美在线一区二区三区 | 日日干天天插 | 97视频在线免费观看 | 色网址99| 在线观看国产v片 | 99精品热 | 黄色www在线观看 | 国产精品18久久久久vr手机版特色 | 亚洲一区久久久 | 免费av的网站 | 久久久性 | 国语久久 | 国产又粗又猛又爽又黄的视频先 | 久久精品国产一区二区三区 | 狠狠狠狠狠狠干 | 国产一区电影在线观看 | 亚洲在线视频免费 | 亚洲精品视频在线观看免费 | 欧美福利视频一区 | 国产精品免费av | 国产五月婷 | 日韩经典一区二区三区 | 97精品超碰一区二区三区 | 久久av观看 | 日韩免费不卡av | 国产亚洲片 | 曰韩精品 | 亚洲精品中文在线资源 | 狠狠躁天天躁综合网 | 99热最新在线 | a在线观看免费视频 | 午夜美女av | 国产视频不卡 | 精品一区二区在线看 | 嫩草av影院| 久久国产99| 黄色天堂在线观看 | 97视频免费观看2区 亚洲视屏 | 欧美日韩二区在线 | 91超级碰碰 | 国产一级免费在线观看 | 久久久久成人免费 | 国产精品麻豆视频 | 日本久久中文 | www.国产毛片| av国产网站 | 色婷婷88av视频一二三区 | 国产成人亚洲精品自产在线 | 久久久久久久久久国产精品 | 国产精品欧美在线 | 在线岛国av | 国产三级午夜理伦三级 | 国产视频不卡一区 | 国产在线一区二区三区播放 | 91免费黄视频| 欧美精品一区在线 | 国产精品18久久久久久久网站 | 色黄www小说 | 久久精品视频网站 | 欧美在线视频精品 | 97人人网 | av中文字幕av| www.com久久久 | 夜夜婷婷| 国产精品乱码久久久 | 黄色软件在线观看 | 激情www | 一区二区三区在线视频111 | 久草视频在线资源站 | 超碰97人人干 | 91视频在线观看大全 | 天天操夜夜叫 | 日韩av在线不卡 | 最新中文字幕在线观看视频 | 日日碰狠狠躁久久躁综合网 | 91av资源在线 | 亚洲激情视频在线观看 | 国产一二区精品 | 91在线资源| 欧美在线18 | www色网站 | 日韩精品一区二区三区电影 | 黄色中文字幕 | 一区二区三区四区不卡 | 激情综合啪| 欧美成人区 | 色无五月| 亚洲一二三在线 | 九九热免费视频在线观看 | 欧美在线你懂的 | 久久中文精品视频 | 免费观看高清 | 五月天六月丁香 | 五月综合色| 在线观看免费日韩 | 国产一级二级三级视频 | 69久久99精品久久久久婷婷 | 9i看片成人免费看片 | 久久综合综合久久综合 | 五月婷婷av在线 | 国产色在线观看 | 日本精品视频一区二区 | 精品亚洲一区二区 | 免费一级片久久 | 国产区在线看 | 永久免费av在线播放 | 国产一二三区在线观看 | 天天综合操| 国产视频 亚洲视频 | 中文字幕永久在线 | 亚洲免费av观看 | 狠狠狠色丁香婷婷综合久久五月 | 国内小视频 | 亚洲精品视频在线 | 97超碰在线视 | 精品影院一区二区久久久 | 免费日韩av电影 | 色网站在线免费观看 | 久久久久亚洲精品中文字幕 | 久久久精品久久日韩一区综合 | 婷婷色资源 | 色香网| 国产区久久 | 久久成人精品视频 | 日韩欧美高清在线 | 国产精品久久久久久久久久免费 | 91在线视频精品 | 成人午夜电影在线观看 | 欧美国产日韩中文 | 天天射天天干天天爽 | 在线视频观看成人 | 久久区二区| 国产亚洲日 | 97理论片 | www.色五月| 六月婷婷色 | 在线视频免费观看 | 99久久精品免费看国产一区二区三区 | 天天艹天天爽 | 国内免费的中文字幕 | 国产91大片| 久久精品国产免费看久久精品 | 天堂av网址 | 一区二区三区久久精品 | 超碰在线天天 | 美女视频久久久 | 黄色免费网战 | 亚洲综合视频在线观看 | 日韩成人精品一区二区三区 | 99久久精品免费看国产一区二区三区 | 亚洲综合色视频 | 亚洲亚洲精品在线观看 | 伊人影院99 | 能在线观看的日韩av | 欧美精品在线观看一区 | 99人久久精品视频最新地址 | 五月婷婷黄色网 | 欧美国产在线看 | 国产成人区 | 黄色小视频在线观看免费 | 中文字幕视频免费观看 | 国产一区二区三区在线 | 欧美日韩一区二区三区在线免费观看 | 91一区二区三区在线观看 | 激情 亚洲| 日本中文字幕在线看 | 成人a级大片 | 911久久| 在线播放一区 | 久久草草影视免费网 | 最新午夜电影 | 人人狠狠综合久久亚洲婷 | 麻豆久久久久久久 | 五月天激情综合 | 国产成人久久精品亚洲 | 国产麻豆精品免费视频 | 久久视频这里有久久精品视频11 | 亚洲欧洲精品在线 | 超碰成人免费电影 | 中文字幕一区二 | 天天干,天天操,天天射 | 2023亚洲精品国偷拍自产在线 | 亚洲精品乱码久久久久 | 国产乱对白刺激视频不卡 | 天天操天天舔天天爽 | 国产成人一区二区三区久久精品 | 天天操天天艹 | 亚洲精品视频国产 | 最新在线你懂的 | 天天躁日日 | 久久久免费高清视频 | 久久在现视频 | 久久久久高清毛片一级 | 亚洲1区在线 | 麻豆传媒视频在线 | 欧美极品xxxx | 成人国产精品一区 | 国产在线观看你懂得 | 婷婷丁香在线观看 | 国产视频欧美视频 | 香蕉视频在线网站 | 美女视频a美女大全免费下载蜜臀 | 蜜臀久久99精品久久久久久网站 | 亚洲九九爱 | 正在播放国产91 | 日韩精品黄 | 成人福利在线播放 | 99精品国产成人一区二区 | 日韩精品视频在线免费观看 | 久久综合五月天 | 天堂在线视频免费观看 | 黄色日视频| 在线观影网站 | 中文字幕永久在线 | 91精品国自产在线观看 | av色网站 | 成人黄在线观看 | 欧美五月婷婷 | 中文永久字幕 | 成人亚洲综合 | 久二影院| 欧美激情奇米色 | 日韩av电影手机在线观看 | 国产呻吟在线 | 狠狠色丁香久久婷婷综合_中 | 在线播放精品一区二区三区 | 高清av不卡| 久久国产精品免费看 | 一级黄视频 | 91av大全 | 91九色蝌蚪视频在线 | 91视频91蝌蚪 | 中文字幕在线观看第一页 | 亚洲乱亚洲乱亚洲 | 亚洲精品字幕在线 | 欧美男男激情videos | 欧美亚洲精品在线观看 | 夜夜骑天天操 | 99久久毛片 | 中文字幕视频一区 | www91在线观看 | 久久免费激情视频 | 美女视频一区二区 | 久久久久久久久久久久久久av | 久久亚洲成人网 | 国产精品久久久久久久久免费 | 成年人免费在线观看网站 | 欧美成人xxxxxxxx| 国产麻豆果冻传媒在线观看 | 久久精品亚洲综合专区 | 欧美精品免费在线 | 免费观看国产精品 | 久久男女视频 | 2023年中文无字幕文字 | 99视频在线免费播放 | 日韩免费在线一区 | a电影在线观看 | 国产激情电影综合在线看 | 久久婷婷激情 | 国产精品毛片久久久久久久久久99999999 | 在线观看av中文字幕 | 中文字幕刺激在线 | 久久视频在线观看中文字幕 | 黄色av网站在线免费观看 | 黄色软件大全网站 | 操天天操 | 欧美日韩亚洲在线观看 | 国产91大片 | 中文一区二区三区在线观看 | 久久久精品久久日韩一区综合 | 97超碰人人澡人人爱 | 91欧美精品 | 亚洲自拍偷拍色图 | 久久久www成人免费毛片麻豆 | 欧美韩国日本在线 | 国产亚洲精品成人av久久ww | 国产aaa大片| 欧美一级电影 | 91免费观看视频网站 | 亚洲精品欧洲精品 | 亚洲爱爱视频 | 亚洲aⅴ久久精品 | 亚洲国产欧美在线看片xxoo | 色在线免费观看 | 久久久香蕉视频 | 最近最新中文字幕视频 | 超碰国产人人 | 91亚洲夫妻 | 久久久久综合精品福利啪啪 | 国产手机精品视频 | 天天草网站| 日韩中文字幕免费在线播放 | 激情五月伊人 | 欧美日韩国产色综合一二三四 | 国产色婷婷精品综合在线手机播放 | 丁香六月婷婷激情 | 色综合久久久久网 | 久久久久久久久久电影 | 久久国产午夜精品理论片最新版本 | 久久优 | 人人插人人做 | 久久综合九色99 | 午夜久久久久久久久久久 | 国产一区二区在线免费观看 | av一级二级| 亚洲国产精品久久久久久 | 草久在线视频 | 韩国av免费观看 | 99精品色 | 中文字幕在线影院 | 国产精品久久三 | 久久精视频 | 久久精国产 | 免费看黄在线观看 | 激情五月婷婷综合网 | 91热爆视频 | a天堂在线看 | 亚洲涩涩网站 | 偷拍久久久 | 国产一区二区成人 | 久久久国产精品网站 | 久草香蕉在线 | 中文字幕在线观看免费高清电影 |