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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux系统编程】I/O多路复用select、poll、epoll的区别使用

發布時間:2024/4/21 linux 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux系统编程】I/O多路复用select、poll、epoll的区别使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

I/O 多路復用技術是為了解決進程或線程阻塞到某個 I/O 系統調用而出現的技術,使進程不阻塞于某個特定的 I/O 系統調用。


select(),poll(),epoll()都是I/O多路復用的機制。I/O多路復用通過一種機制,可以監視多個描述符,一旦某個描述符就緒(一般是讀就緒或者寫就緒,就是這個文件描述符進行讀寫操作之前),能夠通知程序進行相應的讀寫操作。但select(),poll(),epoll()本質上都是同步I/O,因為他們都需要在讀寫事件就緒后自己負責進行讀寫,也就是說這個讀寫過程是阻塞的,而異步I/O則無需自己負責進行讀寫,異步I/O的實現會負責把數據從內核拷貝到用戶空間。什么是同步或異步,詳情請看《同步和異步的區別》


與多線程和多進程相比,I/O 多路復用的最大優勢是系統開銷小,系統不需要建立新的進程或者線程,也不必維護這些線程和進程。


select()的使用

所需頭文件:

#include <sys/select.h>

#include <sys/time.h>

#include <sys/types.h>

#include <unistd.h>


int select(int nfds,?fd_set *readfds,?fd_set *writefds,?fd_set *exceptfds,?struct timeval *timeout);

功能:

監視并等待多個文件描述符的屬性變化(可讀、可寫或錯誤異常)。select()函數監視的文件描述符分 3 類,分別是writefds、readfds、和 exceptfds。調用后 select() 函數會阻塞,直到有描述符就緒(有數據可讀、可寫、或者有錯誤異常),或者超時( timeout 指定等待時間),函數才返回。當 select()函數返回后,可以通過遍歷 fdset,來找到就緒的描述符。

參數:

nfds:?要監視的文件描述符的范圍,一般取監視的描述符數的最大值+1,如這里寫 10, 這樣的話,描述符 0,1, 2 …… 9 都會被監視,在 Linux 上最大值一般為1024。


readfd:?監視的可讀描述符集合,只要有文件描述符即將進行讀操作,這個文件描述符就存儲到這。

writefds:?監視的可寫描述符集合。

exceptfds:?監視的錯誤異常描述符集合


中間的三個參數 readfds、writefds 和 exceptfds 指定我們要讓內核監測讀、寫和異常條件的描述字。如果不需要使用某一個的條件,就可以把它設為空指針( NULL )。集合fd_set?中存放的是文件描述符,可通過以下四個宏進行設置:

//清空集合

void FD_ZERO(fd_set *fdset);?


//將一個給定的文件描述符加入集合之中

void FD_SET(int fd, fd_set *fdset);


//將一個給定的文件描述符從集合中刪除

void FD_CLR(int fd, fd_set *fdset);


?// 檢查集合中指定的文件描述符是否可以讀寫?

int FD_ISSET(int fd, fd_set *fdset);?


timeout:?超時時間,它告知內核等待所指定描述字中的任何一個就緒可花多少時間。其 timeval 結構用于指定這段時間的秒數和微秒數。

struct timeval

{

time_t tv_sec; ? ? ? /* 秒 */

suseconds_t tv_usec; /* 微秒 */

};


這個參數有三種可能:

1)永遠等待下去:僅在有一個描述字準備好 I/O 時才返回。為此,把該參數設置為空指針 NULL。

2)等待固定時間:在指定的固定時間(?timeval 結構中指定的秒數和微秒數)內,在有一個描述字準備好 I/O 時返回,如果時間到了,就算沒有文件描述符發生變化,這個函數會返回 0。

3)根本不等待(不阻塞):檢查描述字后立即返回,這稱為輪詢。為此,struct timeval變量的時間值指定為 0 秒 0 微秒,文件描述符屬性無變化返回 0,有變化返回準備好的描述符數量。


返回值:

成功:就緒描述符的數目,超時返回 0,

出錯:-1


我們寫這么一個例子,同時循環讀取標準輸入的內容,讀取有名管道的內容,默認的情況下,標準輸入沒有內容,read()時會阻塞,同樣的,有名管道如果沒有內容,read()也會阻塞,我們如何實現循環讀取這兩者的內容呢?最簡單的方法是,開兩個線程,一個線程循環讀標準輸入的內容,一個線程循環讀有名管道的內容。而在這里,我們通過 select() 函數實現這個功能:

#include <sys/select.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h>int main(int argc, char *argv[]) {fd_set rfds;struct timeval tv;int ret;int fd;ret = mkfifo("test_fifo", 0666); // 創建有名管道if(ret != 0){perror("mkfifo:");}fd = open("test_fifo", O_RDWR); // 讀寫方式打開管道if(fd < 0){perror("open fifo");return -1;}ret = 0;while(1){// 這部分內容,要放在while(1)里面FD_ZERO(&rfds); // 清空FD_SET(0, &rfds); // 標準輸入描述符 0 加入集合FD_SET(fd, &rfds); // 有名管道描述符 fd 加入集合// 超時設置tv.tv_sec = 1;tv.tv_usec = 0;// 監視并等待多個文件(標準輸入,有名管道)描述符的屬性變化(是否可讀)// 沒有屬性變化,這個函數會阻塞,直到有變化才往下執行,這里沒有設置超時// FD_SETSIZE 為 <sys/select.h> 的宏定義,值為 1024ret = select(FD_SETSIZE, &rfds, NULL, NULL, NULL);//ret = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);if(ret == -1){ // 出錯perror("select()");}else if(ret > 0){ // 準備就緒的文件描述符char buf[100] = {0};if( FD_ISSET(0, &rfds) ){ // 標準輸入read(0, buf, sizeof(buf));printf("stdin buf = %s\n", buf);}else if( FD_ISSET(fd, &rfds) ){ // 有名管道read(fd, buf, sizeof(buf));printf("fifo buf = %s\n", buf);}}else if(0 == ret){ // 超時printf("time out\n");}}return 0; }


當前終端運行此程序,另一終端運行一個往有名管道寫內容的程序,運行結果如下:



下面為上面例子的往有名管道寫內容的示例代碼:

#include <sys/select.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h>int main(int argc, char *argv[]) {//select_demo(8);fd_set rfds;struct timeval tv;int ret;int fd;ret = mkfifo("test_fifo", 0666); // 創建有名管道if(ret != 0){perror("mkfifo:");}fd = open("test_fifo", O_RDWR); // 讀寫方式打開管道if(fd < 0){perror("open fifo");return -1;}while(1){char *str = "this is for test";write(fd, str, strlen(str)); // 往管道里寫內容printf("after write to fifo\n");sleep(5);}return 0; }


運行結果如下:



select()目前幾乎在所有的平臺上支持,其良好跨平臺支持也是它的一個優點


select()的缺點在于:

1)每次調用 select(),都需要把 fd 集合從用戶態拷貝到內核態,這個開銷在 fd 很多時會很大,同時每次調用 select() 都需要在內核遍歷傳遞進來的所有 fd,這個開銷在 fd 很多時也很大。

2)單個進程能夠監視的文件描述符的數量存在最大限制,在 Linux 上一般為 1024,可以通過修改宏定義甚至重新編譯內核的方式提升這一限制,但是這樣也會造成效率的降低。


poll()的使用

select() 和 poll() 系統調用的本質一樣,前者在 BSD UNIX 中引入的,后者在 System V 中引入的。poll() 的機制與 select() 類似,與 select() 在本質上沒有多大差別,管理多個描述符也是進行輪詢,根據描述符的狀態進行處理,但是 poll() 沒有最大文件描述符數量的限制(但是數量過大后性能也是會下降)poll() 和 select() 同樣存在一個缺點就是,包含大量文件描述符的數組被整體復制于用戶態和內核的地址空間之間,而不論這些文件描述符是否就緒,它的開銷隨著文件描述符數量的增加而線性增大。


所需頭文件:

#include <poll.h>


int poll(struct pollfd *fds, nfds_t nfds, int timeout);

功能:

監視并等待多個文件描述符的屬性變化。

參數:

fds: 不同與 select() 使用三個位圖來表示三個 fdset 的方式,poll() 使用一個 pollfd 的指針實現。一個 pollfd 結構體數組,其中包括了你想測試的文件描述符和事件, 事件由結構中事件域 events 來確定,調用后實際發生的時間將被填寫在結構體的 revents 域。

struct pollfd{

int fd; ? ? ? ? /* 文件描述符 */

short events; ? /* 等待的事件 */

short revents; ?/* 實際發生了的事件 */

};?


fd:每一個 pollfd 結構體指定了一個被監視的文件描述符,可以傳遞多個結構體,指示 poll() 監視多個文件描述符。

events:每個結構體的 events 域是監視該文件描述符的事件掩碼,由用戶來設置這個域。events?等待事件的掩碼取值如下:

處理輸入:

POLLIN?普通或優先級帶數據可讀

POLLRDNORM?普通數據可讀

POLLRDBAND?優先級帶數據可讀

POLLPRI?高優先級數據可讀


處理輸出:

POLLOUT?普通或優先級帶數據可寫

POLLWRNORM?普通數據可寫

POLLWRBAND?優先級帶數據可寫


處理錯誤:

POLLERR發生錯誤

POLLHUP發生掛起

POLLVAL?描述字不是一個打開的文件


poll() 處理三個級別的數據,普通 normal,優先級帶 priority band,高優先級 high priority,這些都是出于流的實現。


POLLIN | POLLPRI 等價于 select() 的讀事件,POLLOUT | POLLWRBAND 等價于 select() 的寫事件。POLLIN 等價于 POLLRDNORM | POLLRDBAND,而 POLLOUT 則等價于 POLLWRNORM 。例如,要同時監視一個文件描述符是否可讀和可寫,我們可以設置 events 為 POLLIN | POLLOUT。


revents:revents 域是文件描述符的操作結果事件掩碼,內核在調用返回時設置這個域。events 域中請求的任何事件都可能在 revents 域中返回。


每個結構體的 events 域是由用戶來設置,告訴內核我們關注的是什么,而 revents 域是返回時內核設置的,以說明對該描述符發生了什么事件。


nfds:?用來指定第一個參數數組元素個數。

timeout:?指定等待的毫秒數,無論 I/O 是否準備好,poll() 都會返回。當等待時間為 0 時,poll() 函數立即返回,為 -1 則使 poll() 一直阻塞直到一個指定事件發生。


返回值:

成功時,poll() 返回結構體中 revents 域不為 0 的文件描述符個數;如果在超時前沒有任何事件發生,poll()返回 0;

失敗時,poll() 返回 -1,并設置 errno 為下列值之一:

EBADF:一個或多個結構體中指定的文件描述符無效。

EFAULT:fds?指針指向的地址超出進程的地址空間。

EINTR:請求的事件之前產生一個信號,調用可以重新發起。

EINVAL:nfds?參數超出 PLIMIT_NOFILE 值。

ENOMEM:可用內存不足,無法完成請求。


我們將上面的例子,改為用 poll() 實現:

#include <poll.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h>int main(int argc, char *argv[]) {int ret;int fd;struct pollfd fds[2]; // 監視文件描述符結構體,2 個元素ret = mkfifo("test_fifo", 0666); // 創建有名管道if(ret != 0){perror("mkfifo:");}fd = open("test_fifo", O_RDWR); // 讀寫方式打開管道if(fd < 0){perror("open fifo");return -1;}ret = 0;fds[0].fd = 0; // 標準輸入fds[1].fd = fd; // 有名管道fds[0].events = POLLIN; // 普通或優先級帶數據可讀fds[1].events = POLLIN; // 普通或優先級帶數據可讀while(1){// 監視并等待多個文件(標準輸入,有名管道)描述符的屬性變化(是否可讀)// 沒有屬性變化,這個函數會阻塞,直到有變化才往下執行,這里沒有設置超時ret = poll(fds, 2, -1);//ret = poll(&fd, 2, 1000);if(ret == -1){ // 出錯perror("poll()");}else if(ret > 0){ // 準備就緒的文件描述符char buf[100] = {0};if( ( fds[0].revents & POLLIN ) == POLLIN ){ // 標準輸入read(0, buf, sizeof(buf));printf("stdin buf = %s\n", buf);}else if( ( fds[1].revents & POLLIN ) == POLLIN ){ // 有名管道read(fd, buf, sizeof(buf));printf("fifo buf = %s\n", buf);}}else if(0 == ret){ // 超時printf("time out\n");}}return 0; }


poll() 的實現和 select() 非常相似,只是描述 fd 集合的方式不同,poll() 使用 pollfd 結構而不是 select() 的 fd_set 結構,其他的都差不多。


epoll的使用

epoll?是在 2.6 內核中提出的,是之前的 select() 和 poll() 的增強版本。相對于 select() 和 poll() 來說,epoll 更加靈活,沒有描述符限制。epoll 使用一個文件描述符管理多個描述符,將用戶關系的文件描述符的事件存放到內核的一個事件表中,這樣在用戶空間和內核空間的 copy 只需一次。


epoll 操作過程需要三個接口,分別如下:

#include <sys/epoll.h> int epoll_create(int size); int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event); int epoll_wait(int epfd, struct

int epoll_create(int size);

功能:

該函數生成一個 epoll 專用的文件描述符(創建一個 epoll 的句柄)。

參數:

size: 用來告訴內核這個監聽的數目一共有多大,參數 size 并不是限制了 epoll 所能監聽的描述符最大個數,只是對內核初始分配內部數據結構的一個建議。自從 linux 2.6.8 之后,size 參數是被忽略的,也就是說可以填只有大于 0 的任意值需要注意的是,當創建好 epoll 句柄后,它就是會占用一個 fd 值,在 linux 下如果查看 /proc/ 進程 id/fd/,是能夠看到這個 fd 的,所以在使用完 epoll 后,必須調用 close() 關閉,否則可能導致 fd 被耗盡。

返回值:

成功:epoll 專用的文件描述符

失敗:-1


int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);

功能:

epoll 的事件注冊函數,它不同于 select() 是在監聽事件時告訴內核要監聽什么類型的事件,而是在這里先注冊要監聽的事件類型。

參數:

epfd:?epoll 專用的文件描述符,epoll_create()的返回值

op:?表示動作,用三個宏來表示:

EPOLL_CTL_ADD:注冊新的 fd 到 epfd 中;
EPOLL_CTL_MOD:修改已經注冊的fd的監聽事件;
EPOLL_CTL_DEL:從 epfd 中刪除一個 fd;

fd:?需要監聽的文件描述符

event:?告訴內核要監聽什么事件,struct epoll_event 結構如下:

// 保存觸發事件的某個文件描述符相關的數據(與具體使用方式有關) typedef union epoll_data {void *ptr;int fd;__uint32_t u32;__uint64_t u64; } epoll_data_t;// 感興趣的事件和被觸發的事件 struct epoll_event {__uint32_t events; /* Epoll events */epoll_data_t data; /* User data variable */ };


events 可以是以下幾個宏的集合:

EPOLLIN?:表示對應的文件描述符可以讀(包括對端 SOCKET 正常關閉);
EPOLLOUT:表示對應的文件描述符可以寫;
EPOLLPRI:表示對應的文件描述符有緊急的數據可讀(這里應該表示有帶外數據到來);
EPOLLERR:表示對應的文件描述符發生錯誤;
EPOLLHUP:表示對應的文件描述符被掛斷;
EPOLLET?:將 EPOLL 設為邊緣觸發(Edge Triggered)模式,這是相對于水平觸發(Level Triggered)來說的。
EPOLLONESHOT:只監聽一次事件,當監聽完這次事件之后,如果還需要繼續監聽這個 socket 的話,需要再次把這個 socket 加入到 EPOLL 隊列里


返回值:

成功:0

失敗:-1


int epoll_wait( int epfd,?struct epoll_event * events,?int maxevents,?int timeout );

功能:

等待事件的產生,收集在 epoll 監控的事件中已經發送的事件,類似于 select() 調用。

參數:

epfd:?epoll 專用的文件描述符,epoll_create()的返回值

events:?分配好的 epoll_event 結構體數組,epoll 將會把發生的事件賦值到events 數組中(events 不可以是空指針,內核只負責把數據復制到這個 events 數組中,不會去幫助我們在用戶態中分配內存)。

maxevents:?maxevents 告之內核這個 events 有多大 。

timeout:?超時時間,單位為毫秒,為 -1 時,函數為阻塞

返回值:

成功:返回需要處理的事件數目,如返回 0 表示已超時。

失敗:-1


epoll 對文件描述符的操作有兩種模式:LT(level trigger)和 ET(edge trigger)。LT 模式是默認模式LT 模式與 ET 模式的區別如下

LT 模式:當 epoll_wait 檢測到描述符事件發生并將此事件通知應用程序,應用程序可以不立即處理該事件。下次調用 epoll_wait 時,會再次響應應用程序并通知此事件。
ET 模式:當 epoll_wait 檢測到描述符事件發生并將此事件通知應用程序,應用程序必須立即處理該事件。如果不處理,下次調用 epoll_wait 時,不會再次響應應用程序并通知此事件。

ET 模式在很大程度上減少了 epoll 事件被重復觸發的次數,因此效率要比 LT 模式高。epoll 工作在 ET 模式的時候,必須使用非阻塞套接口,以避免由于一個文件句柄的阻塞讀/阻塞寫操作把處理多個文件描述符的任務餓死。


接下來,我們將上面的例子,改為用 epoll 實現:

#include <sys/epoll.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h>int main(int argc, char *argv[]) {int ret;int fd;ret = mkfifo("test_fifo", 0666); // 創建有名管道if(ret != 0){perror("mkfifo:");}fd = open("test_fifo", O_RDWR); // 讀寫方式打開管道if(fd < 0){perror("open fifo");return -1;}ret = 0;struct epoll_event event; // 告訴內核要監聽什么事件struct epoll_event wait_event;int epfd = epoll_create(10); // 創建一個 epoll 的句柄,參數要大于 0, 沒有太大意義if( -1 == epfd ){perror ("epoll_create");return -1;}event.data.fd = 0; // 標準輸入event.events = EPOLLIN; // 表示對應的文件描述符可以讀// 事件注冊函數,將標準輸入描述符 0 加入監聽事件ret = epoll_ctl(epfd, EPOLL_CTL_ADD, 0, &event);if(-1 == ret){perror("epoll_ctl");return -1;}event.data.fd = fd; // 有名管道event.events = EPOLLIN; // 表示對應的文件描述符可以讀// 事件注冊函數,將有名管道描述符 fd 加入監聽事件ret = epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);if(-1 == ret){perror("epoll_ctl");return -1;}ret = 0;while(1){// 監視并等待多個文件(標準輸入,有名管道)描述符的屬性變化(是否可讀)// 沒有屬性變化,這個函數會阻塞,直到有變化才往下執行,這里沒有設置超時ret = epoll_wait(epfd, &wait_event, 2, -1);//ret = epoll_wait(epfd, &wait_event, 2, 1000);if(ret == -1){ // 出錯close(epfd);perror("epoll");}else if(ret > 0){ // 準備就緒的文件描述符char buf[100] = {0};if( ( 0 == wait_event.data.fd ) && ( EPOLLIN == wait_event.events & EPOLLIN ) ){ // 標準輸入read(0, buf, sizeof(buf));printf("stdin buf = %s\n", buf);}else if( ( fd == wait_event.data.fd ) && ( EPOLLIN == wait_event.events & EPOLLIN ) ){ // 有名管道read(fd, buf, sizeof(buf));printf("fifo buf = %s\n", buf);}}else if(0 == ret){ // 超時printf("time out\n");}}close(epfd);return 0; }


在 select/poll中,進程只有在調用一定的方法后,內核才對所有監視的文件描述符進行掃描,而 epoll() 事先通過 epoll_ctl() 來注冊一個文件描述符,一旦基于某個文件描述符就緒時,內核會采用類似 callback 的回調機制(軟件中斷?),迅速激活這個文件描述符,當進程調用 epoll_wait() 時便得到通知。


epoll 的優點主要是一下幾個方面:

1)監視的描述符數量不受限制,它所支持的 FD 上限是最大可以打開文件的數目,這個數字一般遠大于 2048,舉個例子,在 1GB 內存的機器上大約是 10 萬左右,具體數目可以 cat /proc/sys/fs/file-max 察看,一般來說這個數目和系統內存關系很大。select() 的最大缺點就是進程打開的 fd 是有數量限制的。這對于連接數量比較大的服務器來說根本不能滿足。雖然也可以選擇多進程的解決方案( Apache 就是這樣實現的),不過雖然 Linux 上面創建進程的代價比較小,但仍舊是不可忽視的,加上進程間數據同步遠比不上線程間同步的高效,所以也不是一種完美的方案。


2)I/O 的效率不會隨著監視 fd 的數量的增長而下降。select(),poll() 實現需要自己不斷輪詢所有 fd 集合,直到設備就緒,期間可能要睡眠和喚醒多次交替。而 epoll 其實也需要調用 epoll_wait() 不斷輪詢就緒鏈表,期間也可能多次睡眠和喚醒交替,但是它是設備就緒時,調用回調函數,把就緒 fd 放入就緒鏈表中,并喚醒在 epoll_wait() 中進入睡眠的進程。雖然都要睡眠和交替,但是 select() 和 poll() 在“醒著”的時候要遍歷整個 fd 集合,而 epoll 在“醒著”的時候只要判斷一下就緒鏈表是否為空就行了,這節省了大量的 CPU 時間。這就是回調機制帶來的性能提升


3)select(),poll() 每次調用都要把 fd 集合從用戶態往內核態拷貝一次,而 epoll 只要一次拷貝,這也能節省不少的開銷。

總結

以上是生活随笔為你收集整理的【Linux系统编程】I/O多路复用select、poll、epoll的区别使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲电影图片小说 | 久久综合成人网 | 亚洲综合激情网 | 夜夜骑天天操 | 在线播放精品一区二区三区 | 依人成人综合网 | 一本一本久久a久久精品综合妖精 | 丝袜美腿亚洲 | 国产三级精品三级在线观看 | 美女黄网站视频免费 | 国产成人精品午夜在线播放 | 91在线看网站 | 一区二精品| 国产在线观看,日本 | 国产精品视频免费 | 天天天天天天操 | 日韩在线观看视频在线 | 91精彩视频在线观看 | 亚洲精品乱码久久久久久 | 美女免费视频黄 | 九九99靖品| 精品在线观看免费 | 黄色影院在线播放 | 精品在线观看国产 | 久草视频一区 | 在线视频 一区二区 | 亚洲欧美日韩中文在线 | 日本久久久久久久久久 | 精品中文字幕在线播放 | 亚洲 中文 欧美 日韩vr 在线 | 一区二区三区日韩在线观看 | 99热亚洲精品 | 天堂av在线免费观看 | 黄色影院在线播放 | av一区二区三区在线 | 91视频a| av免费电影在线观看 | 91在线文字幕 | 午夜丁香网 | 黄色网www| 亚洲视频第一页 | 久久综合桃花 | 18国产精品福利片久久婷 | 国产1级毛片 | 99这里都是精品 | 亚洲成人欧美 | 国产亚洲一区二区在线观看 | 99久久精品免费看国产一区二区三区 | 日韩久久精品一区二区 | 欧美激情视频免费看 | 丁香五婷| 狠狠的干狠狠的操 | 色av网站| 中文字幕在线有码 | 久久精品国产第一区二区三区 | 丁香六月在线 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 在线不卡视频 | 在线中文字幕视频 | 蜜臀av性久久久久av蜜臀三区 | 婷婷日日 | 亚洲欧美激情精品一区二区 | 日韩高清一 | 91精品一区二区三区久久久久久 | 日韩v欧美v日本v亚洲v国产v | 亚洲高清久久久 | 久久99在线观看 | 免费看国产a | 91精品网站在线观看 | 亚洲天堂va | 久草资源免费 | 最近日本韩国中文字幕 | 免费中午字幕无吗 | 999色视频 | 国产在线观看99 | 久久久黄视频 | 国产色婷婷精品综合在线手机播放 | 久久免费精品一区二区三区 | 久久66热这里只有精品 | 99国产成+人+综合+亚洲 欧美 | 国产不卡精品 | 午夜精品久久久久99热app | 最新色站| 黄色小说在线免费观看 | 国产视频1区2区3区 久久夜视频 | 91在线精品一区二区 | 日韩免费在线 | 国产一区二区综合 | 久久亚洲欧美日韩精品专区 | 综合天天色 | 91精品国产92久久久久 | 最新国产精品拍自在线播放 | 日韩欧美在线视频一区二区 | 中文久草 | 99热国产精品 | 国产区精品视频 | 免费在线播放 | 91亚洲狠狠婷婷综合久久久 | 成+人+色综合 | 在线精品视频在线观看高清 | 国产玖玖精品视频 | 一本一道久久a久久综合蜜桃 | 亚洲另类人人澡 | 精品国产伦一区二区三区观看体验 | 国产一区二区影院 | 国产剧情一区二区在线观看 | 五月天色丁香 | 天天综合中文 | 久久久久久高潮国产精品视 | 天天天天爽 | 91精品在线观看入口 | 久久精品日产第一区二区三区乱码 | 欧美精品久久久 | 久久精品久久99精品久久 | 色欧美视频 | 国产视频久久久久 | 亚洲人久久久 | 深夜免费小视频 | 天天爱天天射 | 色婷婷88av视频一二三区 | 色婷婷亚洲婷婷 | 免费福利在线视频 | 国产精品18久久久久久vr | 国产色婷婷精品综合在线手机播放 | 欧美一区二区三区在线播放 | 九九九九九精品 | 精品视频免费观看 | www.五月天婷婷.com | 婷婷在线五月 | 中文字幕日韩精品有码视频 | 国产亚洲精品久久久网站好莱 | 国产福利av在线 | 粉嫩aⅴ一区二区三区 | 亚洲国产成人在线观看 | 一二区电影 | 中文乱幕日产无线码1区 | 亚洲精品在线二区 | 黄色小说视频网站 | 99热手机在线 | 中文字幕日韩国产 | 五月天色综合 | 黄色软件大全网站 | 一区二区三区播放 | 91九色porny蝌蚪主页 | 欧美福利视频一区 | 日韩精品免费在线观看视频 | av一级免费| 欧美日韩国产色综合一二三四 | 亚洲经典精品 | 在线观看91久久久久久 | 精品福利视频在线 | 国产精品99久久久久久久久久久久 | 精品av网站 | 国产精品日韩欧美 | 伊人伊成久久人综合网小说 | 国产在线自 | 久久久久草 | 成人av电影在线 | 天天天天射 | 亚洲永久av | 国产精品一区二区三区在线免费观看 | 伊人开心激情 | 国产在线久久久 | 69视频永久免费观看 | 最新中文字幕在线资源 | 天天天在线综合网 | www黄色大片 | 国产精品麻豆三级一区视频 | 日韩有码网站 | 色天堂在线视频 | 午夜精品久久久久 | 免费午夜网站 | 国产精品入口传媒 | 麻豆激情电影 | 999成人 | 精品一区二区精品 | 午夜精品一区二区三区在线视频 | 九九交易行官网 | 免费在线观看黄 | 天天射,天天干 | 一区三区视频 | 丰满少妇一级 | 又黄又刺激视频 | 久久国产精品免费一区 | 黄色大片视频网站 | 国产精品视频免费观看 | 欧美一二三视频 | 91精品国产九九九久久久亚洲 | 四虎成人精品永久免费av | 国产中文字幕视频在线 | 日韩成人免费观看 | 国产高清在线a视频大全 | 草久在线视频 | 日本一区二区三区免费观看 | 美女视频永久黄网站免费观看国产 | 国产精品久久久久久久午夜片 | 精品久久久久国产免费第一页 | 久久久久免费精品视频 | 黄色免费网站大全 | 激情图片久久 | 亚洲精品乱码久久久久久蜜桃91 | 激情综合网在线观看 | 日韩av成人在线 | 久久精彩免费视频 | 久久久久久久久爱 | 国产91精品一区二区麻豆网站 | 日韩网站一区二区 | 国产精品美女久久久久久久久久久 | 亚洲伦理中文字幕 | 日韩一级片观看 | 精品久久久精品 | 久久黄色免费 | 涩涩网站在线看 | 91夫妻视频 | 国产一区二区三区四区在线 | 日韩av高清在线观看 | 日韩一区二区三区免费电影 | 97视频在线观看视频免费视频 | 欧美日韩一二三四区 | 日韩中文字幕a | 美女网站色 | 免费在线观看视频a | 日韩黄色免费看 | 九色在线| 91网在线看 | 亚洲精品伦理在线 | 一级特黄av| 日韩高清精品一区二区 | 亚洲一区免费在线 | 97超碰色| 久久精品欧美一区 | 日本资源中文字幕在线 | 亚洲少妇自拍 | 久久99热国产 | av青草 | 亚洲成人黄色 | 亚洲一区欧美激情 | 国产精品九九久久99视频 | 日本在线中文在线 | 中文字幕在线免费97 | 国产成人a亚洲精品 | 欧美另类z0zx | 日本在线观看中文字幕无线观看 | av在线超碰 | 国产精品99久久久 | 九九九国产| 国产精品久久久久久久久久久久午夜 | 日韩性色| av免费电影在线观看 | 日韩专区 在线 | 午夜精品一区二区三区可下载 | 欧美a级一区二区 | 亚洲丝袜一区二区 | 国内成人精品2018免费看 | 99热99re6国产在线播放 | 91麻豆看国产在线紧急地址 | 久久久久久久久久久高潮一区二区 | 人人爽人人澡人人添人人人人 | 国产精品尤物 | 免费a现在观看 | 高清av在线免费观看 | 国产日女人 | 综合久久网站 | 亚洲综合最新在线 | 免费观看的黄色片 | 国产剧情av在线播放 | 久久视频6| 久久久午夜精品福利内容 | 成人久久精品视频 | 色狠狠综合| 91超碰在线播放 | 精品国产一区二区三区四区在线观看 | 久久久精品网 | 999久久久久久久久久久 | 人人插人人 | 亚洲一区二区三区四区在线视频 | 国产日韩精品一区二区在线观看播放 | 黄色片毛片 | 欧美亚洲国产日韩 | 欧美性脚交 | 黄色av网站在线观看免费 | 国产精品一区二区中文字幕 | 国产中文字幕在线视频 | 亚洲高清精品在线 | 国产高清免费在线播放 | 91av久久| 99久久精品免费视频 | 麻豆91在线观看 | 日韩av午夜在线观看 | 黄色精品在线看 | 91成人蝌蚪| 黄色h在线观看 | 免费视频91蜜桃 | 最近久乱中文字幕 | 国内一区二区视频 | 国产精品99久久久久久久久久久久 | 69精品在线观看 | 国产高清绿奴videos | 91丨九色丨蝌蚪丨对白 | 日本韩国中文字幕 | 99精品在线观看视频 | av三级av | av国产网站 | 日日操天天操夜夜操 | 日韩最新在线 | 偷拍福利视频一区二区三区 | 免费看一级特黄a大片 | sesese图片| 国产精品视频永久免费播放 | 69国产成人综合久久精品欧美 | 久久永久视频 | 欧美精品久久久久久久亚洲调教 | 亚洲天堂色婷婷 | 国产精品久久久久久久免费大片 | 99久精品视频 | 日韩久久久久久久久久 | 激情影院在线 | 午夜狠狠干 | 国产精品免费观看网站 | 综合色天天 | 2021av在线| 国产精品中文字幕在线 | av 一区 二区 久久 | 天天艹天天干天天 | 久人人| 99亚洲精品在线 | 久久中国精品 | 欧美亚洲三级 | 国产黄色理论片 | 日韩免费观看一区二区 | 国产a视频免费观看 | 午夜的福利 | 国产原厂视频在线观看 | 激情xxxx| 中文字幕在线观看你懂的 | 日韩二区在线观看 | 国产福利一区二区三区视频 | 久久国产免费 | 天天操夜操 | 精品视频免费看 | 国产精品一区二区免费在线观看 | 国产1区在线观看 | 天天操天天综合网 | 午夜成人影视 | 欧美视频不卡 | 中国一区二区视频 | 日韩精品一二三 | 国产情侣一区 | 91精品夜夜| 欧美成人h版电影 | 久久精品高清视频 | 亚洲禁18久人片 | 国产精品免费不卡 | 最新日韩视频 | 视频国产一区二区三区 | 国产无遮挡又黄又爽馒头漫画 | 日本成址在线观看 | 99久久精品久久久久久清纯 | 国产精品亚洲综合久久 | 成年人网站免费在线观看 | 久久精品一级片 | 正在播放国产精品 | 久草在线视频免费资源观看 | 天天干天天在线 | 久久国产精品电影 | 久久亚洲欧美 | 中文字幕第 | 日韩精品免费在线观看 | 日韩激情片在线观看 | 久久久视屏 | 98超碰在线 | 欧美日韩一区二区久久 | 成人黄色在线观看视频 | 国产裸体视频网站 | 欧美尹人 | 伊人天天色| 精品中文字幕视频 | 国产美女在线精品免费观看 | 国产精品久久久久久爽爽爽 | 中文字幕一区二区三区乱码在线 | 国产又粗又猛又色又黄网站 | 又黄又爽又刺激 | 97成人精品 | 欧美一区免费观看 | 日韩久久精品一区二区三区下载 | 超碰com | 国产一级三级 | 香蕉视频色 | 日韩色综合网 | 亚洲色图 校园春色 | 国产99一区| 国产不卡网站 | 成人久久久久 | 久久色在线观看 | 精品无人国产偷自产在线 | 亚洲v欧美v国产v在线观看 | 91精品视频在线观看免费 | 天天色天天爱天天射综合 | 免费视频久久久久久久 | www国产一区 | 成人久久 | 一区二区三区国产欧美 | 三日本三级少妇三级99 | 一级黄色在线免费观看 | 国产麻豆果冻传媒在线观看 | 99精品视频免费观看 | 成人在线视频一区 | 欧美日韩国产高清视频 | 成人av视屏| 91中文字幕网 | 成人av电影免费在线观看 | 人人爽人人爽人人爽人人爽 | 在线看国产日韩 | 日韩免费在线视频观看 | 婷婷中文字幕在线观看 | 久久人人爽人人爽 | 亚洲人成在线观看 | 亚洲精品免费在线播放 | 不卡中文字幕在线 | 在线观看 亚洲 | 日韩av进入 | 成人午夜电影在线观看 | 久久精品国产第一区二区三区 | 精品高清美女精品国产区 | 高清日韩一区二区 | 999久久久久久久久6666 | 亚洲综合视频在线播放 | 亚洲精品一区二区在线观看 | 狠狠干夜夜操天天爽 | 99精品国产福利在线观看免费 | 欧美成人播放 | 久久尤物电影视频在线观看 | 97国产人人 | 黄色大片网 | 久久视频在线观看 | 五月天色丁香 | 香蕉国产91 | 99久久激情视频 | 成人久久久久久久久久 | 一区二区三区视频网站 | 日韩欧美高清一区二区三区 | 亚洲专区中文字幕 | 成人av片在线观看 | 国产专区免费 | 色综合久久88色综合天天免费 | 亚洲精品视频一 | 国产成人在线网站 | 国产精品一区二区av日韩在线 | 天天爽人人爽夜夜爽 | 99精品免费 | 97视频免费看 | 精品久久久久久久久久久久久久久久 | 国产黄色a | 亚洲精品久久久久久国 | 婷婷丁香激情 | 久久久久 免费视频 | 中文字幕亚洲精品日韩 | 91亚色视频在线观看 | 狠狠干狠狠色 | 在线播放视频一区 | 久草影视在线观看 | 亚洲精品中文在线 | 好看av在线 | 色偷偷88888欧美精品久久 | 97色se| 久久伊人八月婷婷综合激情 | 久久国产视频网 | a黄色一级片 | 免费网站色| 中文字幕在线视频精品 | 2019国产精品 | 亚洲2019精品 | 又黄又爽又刺激视频 | 国产日韩欧美在线播放 | 在线电影播放 | 天天操天天射天天 | 中文字幕第一页在线播放 | 日韩精品一区二区不卡 | 99久久99热这里只有精品 | 日韩欧美在线一区二区 | 四虎国产精品成人免费影视 | 午夜视频久久久 | 国内精品视频在线播放 | 午夜丰满寂寞少妇精品 | 日日夜夜天天久久 | 99性视频 | 波多野结衣一区三区 | 在线视频 91 | 国产男女免费完整视频 | 亚洲一区视频在线播放 | 日本久久久久 | 天天干.com | 色综合天天做天天爱 | 国产69精品久久久久99尤 | 亚洲欧洲精品一区二区 | 午夜三级理论 | 久久国产系列 | 欧美乱码精品一区二区 | 亚洲国产日韩一区 | 91视频免费网站 | 午夜成人影视 | 午夜视频在线观看一区二区 | 99国内精品 | 97国产电影 | 欧美性大战 | 九九热精 | 精品国产亚洲一区二区麻豆 | 黄色av成人在线观看 | 蜜臀一区二区三区精品免费视频 | 久久精品香蕉视频 | 久久国产精品99国产 | 亚洲最新在线视频 | 国产一区自拍视频 | 天天操婷婷 | 国产精品久久麻豆 | 在线免费看黄色 | 天天综合网~永久入口 | 国产亚洲婷婷 | www五月婷婷 | 国产福利91精品一区二区三区 | 日韩在线视频播放 | 亚洲精品网页 | 91手机在线看片 | 探花视频免费观看 | 国内外成人在线 | 久久精品99| 久久精品女人毛片国产 | 久久观看免费视频 | 天天操天天干天天爽 | 国产精品二区在线 | 国产这里只有精品 | 最新色视频 | 日韩理论电影在线观看 | 97国产精品一区二区 | 久久免费电影网 | 国产亚洲精品久久网站 | 99精品久久只有精品 | 手机av永久免费 | 天天做综合网 | 免费三及片 | av资源免费在线观看 | 玖玖视频国产 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 中文字幕视频在线播放 | 毛片网站免费在线观看 | 日韩国产高清在线 | 黄色中文字幕 | 欧美日bb | a资源在线| 国产欧美精品在线观看 | 又黄又爽又刺激的视频 | 久久伊人婷婷 | 久久97超碰 | 中文字幕一区二区三区在线视频 | 在线影院 国内精品 | 色99网| 国产亚洲一区二区在线观看 | 亚洲激情小视频 | 欧美91成人网 | 成人黄色电影在线观看 | 97国产精品免费 | 日本3级在线观看 | 亚洲高清视频在线观看 | 久爱精品在线 | 夜夜视频欧洲 | 久久精品网址 | 久久久久久久久久久久久影院 | 欧美激情视频在线免费观看 | 高清视频一区二区三区 | 日本狠狠色 | 中文字幕免费高清 | 国产+日韩欧美 | 欧美国产日韩一区 | 国产香蕉久久 | av888av.com| 亚洲精品国产精品久久99热 | 狠狠搞,com| 久久精品91久久久久久再现 | 99久久精品国产毛片 | 国产一区二区久久 | 亚洲禁18久人片 | 日产乱码一二三区别在线 | 日韩网站视频 | 免费日韩三级 | 日韩毛片在线一区二区毛片 | 在线看成人 | 99久久精品午夜一区二区小说 | 91中文字幕| 伊人天天干 | 国产成人61精品免费看片 | 欧美日韩国产一二 | 精品视频免费播放 | 91久久国产精品 | 久久免费视频2 | 色综合久久99 | 国产人成一区二区三区影院 | 中文字幕888 | 亚洲日本va中文字幕 | 日韩黄在线观看 | 亚洲日本va午夜在线电影 | 超碰97人 | 国产专区一| 久久手机视频 | 久久精品一级片 | 黄色成人影视 | 精品国模一区二区三区 | 亚洲精品国偷拍自产在线观看 | 18网站在线观看 | 色大片免费看 | 福利电影久久 | 国产精品女同一区二区三区久久夜 | av在线亚洲天堂 | 天天干天天拍天天操天天拍 | www.国产精品 | 91在线播| 综合色中文 | 中文字幕视频三区 | 在线中文字母电影观看 | 天天艹| 国产精品一区二区三区久久久 | 亚洲精品av中文字幕在线在线 | 国产乱对白刺激视频在线观看女王 | 久草视频在线播放 | 国产又粗又猛又色又黄网站 | 精品美女久久 | 又黄又爽的免费高潮视频 | 午夜影视剧场 | 欧美亚洲国产日韩 | 久久综合成人 | 亚洲精品九九 | 亚洲三级黄色 | 草久久精品 | 在线观看一| 亚洲欧美精品一区 | 久草av在线播放 | 日韩精品中文字幕av | 人人精品久久 | 天干啦夜天干天干在线线 | 在线成人欧美 | 91在线观看黄 | 日韩电影一区二区在线观看 | 欧美日本高清视频 | 91精品国产91 | 97在线成人 | 国产在线精品观看 | 园产精品久久久久久久7电影 | 天天操天天射天天操 | 免费三级av | 91在线免费播放 | 天天躁日日躁狠狠躁av中文 | 欧美一区二区视频97 | 顶级欧美色妇4khd | 国产精品无av码在线观看 | 久久图 | 亚洲精品美女免费 | 中文字幕精品一区二区三区电影 | 在线成人免费 | 日韩欧美综合 | 日韩在线一级 | 国内精品小视频 | 亚洲精品久久久久久中文传媒 | 色婷久久| 色婷婷久久 | 天天翘av| 欧美性久久久久久 | 亚洲成人动漫在线观看 | 婷婷草 | 国产精品久久久久一区二区三区 | 美女网站久久 | 伊人影院av | 激情深爱五月 | 中文日韩在线 | 久精品视频免费观看2 | 成人一区影院 | 国产日韩视频在线播放 | 麻豆视频免费在线观看 | 亚洲最新av在线网址 | 国产成人精品一区一区一区 | 久久久精品综合 | 日本激情中文字幕 | 久久精品美女视频网站 | 国产一区二区高清不卡 | 丁香视频全集免费观看 | wwwwww国产 | 午夜影院在线观看18 | 精品一区 在线 | 婷婷中文字幕综合 | 国产亚洲91 | 色视频在线免费观看 | 中文字幕在线不卡国产视频 | 国产精品麻豆99久久久久久 | 国产精品自产拍在线观看中文 | 成人午夜性影院 | 日日久视频 | 久久成年人| 国产精品第二十页 | 99精品影视| 伊人婷婷色 | 亚洲天堂网视频在线观看 | 黄色tv视频 | 久久久午夜视频 | 午夜精品一区二区国产 | 日本视频精品 | 九九精品毛片 | 黄色三级久久 | 91香蕉视频在线 | 婷香五月 | 黄色一级大片在线观看 | 男女啪啪视屏 | 国产又粗又猛又爽又黄的视频先 | 在线日本看片免费人成视久网 | 国产精品久久久久久久免费大片 | 午夜精品电影 | 久久久www | 伊人影院得得 | 国内精品毛片 | 69国产精品视频免费观看 | 免费看日韩 | 日韩欧在线 | 国产福利在线免费 | 五月婷婷丁香激情 | av大全在线免费观看 | 91视频久久 | 又爽又黄在线观看 | 夜夜操天天| 中文字幕一区在线 | 99国产精品免费网站 | 国内精品久久久久影院男同志 | 91超在线 | 日韩欧美在线第一页 | 亚洲国产日韩欧美在线 | 亚洲天天在线日亚洲洲精 | 不卡的av电影在线观看 | 在线成人av| 亚洲作爱视频 | 午夜国产一区 | 丝袜制服综合网 | 成人9ⅰ免费影视网站 | 欧美日韩在线观看一区二区 | 国产精品一区二区久久精品爱微奶 | av在线影片 | 在线一区电影 | 亚洲精品国产区 | www.eeuss影院av撸| 国产69久久久 | 日日干av | 91亚洲永久精品 | 久久久久久久久久久久国产精品 | 欧美久久99| 成人午夜精品福利免费 | 91成人在线观看喷潮 | 国产一区二区三区在线免费观看 | 天天色图 | 日韩av高清在线观看 | 又粗又长又大又爽又黄少妇毛片 | 精品国内 | 久久精品99国产精品日本 | 国产精品久久久久久久久久久免费看 | 久久久亚洲麻豆日韩精品一区三区 | 久久免费a| 欧美性生活小视频 | 日本高清dvd | 国产精品久久久久久久久久久久午夜片 | 亚洲视频网站在线观看 | 激情视频区 | 欧美综合色在线图区 | 午夜精品一区二区三区视频免费看 | 久久精品国产免费看久久精品 | av片在线观看免费 | 欧美性超爽 | 国产黄色片免费观看 | 草久在线播放 | 国产精品久久久免费看 | 婷婷激情综合五月天 | 一级片黄色片网站 | 国产黄色成人av | 啪啪av在线| 热99在线视频 | 国产高清成人 | 久久亚洲综合色 | 亚洲天堂网在线观看视频 | 国产精品久久久久久久久久久久冷 | 精品国产一区二区三区久久 | 少妇自拍av| 免费麻豆视频 | 久久久久久久国产精品视频 | 成人免费观看视频网站 | 国产一区二区在线免费播放 | 国产尤物在线观看 | 最新中文字幕在线观看视频 | 久久久久99精品成人片三人毛片 | 91av综合| 成人电影毛片 | 又黄又爽又湿又无遮挡的在线视频 | 久久久久观看 | 国产夫妻自拍av | 欧美一级电影在线观看 | 日韩欧美在线观看一区二区 | 欧美日韩高清一区二区 | 国产亚洲精品福利 | 99精品视频观看 | 视频一区二区在线 | 国产视频综合在线 | 91在线小视频 | 91福利小视频 | 日本亚洲国产 | 99久久精品免费看国产 | 狠狠干免费| 日韩激情久久 | 免费日韩一区 | 国产在线观看午夜 | 久久久久这里只有精品 | 日本三级国产 | 2022中文字幕在线观看 | 国内精品久久久久久久久久久久 | 中文高清av | 怡红院av久久久久久久 | 日批网站免费观看 | 日韩av男人的天堂 | 天天艹天天爽 | 国产精品99久久99久久久二8 | 亚洲欧美国产精品va在线观看 | 西西444www| 欧美在线视频a | 中文字幕精品一区二区三区电影 | 亚洲最新av在线网站 | 99在线精品免费视频九九视 | 国产一级黄 | 欧美网站黄色 | 91视频下载 | 亚洲一区免费在线 | 99在线热播精品免费 | av高清在线观看 | 欧美另类69 | 在线免费观看国产精品 | 国产精品成人av在线 | 久久国产一区二区 | 97精品免费视频 | 麻豆成人在线观看 | 欧美伊人网 | 91精品国产综合久久久久久久 | 97在线免费视频观看 | 亚洲国产精品第一区二区 | 99中文视频在线 | 久久综合婷婷国产二区高清 | 久久国产精品区 | 久久亚洲二区 | 久久99亚洲精品 | 外国av网 | 狠狠久久 | 在线观看中文字幕av | 黄在线| 国产综合香蕉五月婷在线 | 久久精品一区二 | 欧美专区日韩专区 | 精品国产伦一区二区三区 | 日韩在线精品视频 | 免费观看91视频 | 不卡的av中文字幕 | 欧美日韩精品区 | 一区二区网 | 日韩中文字幕亚洲一区二区va在线 | 91专区在线观看 | 尤物97国产精品久久精品国产 | 免费成人av电影 | 久久人人爽视频 | 免费在线观看成人小视频 | 中文字幕电影高清在线观看 | av免费看在线 | 27xxoo无遮挡动态视频 | 日韩av中文字幕在线免费观看 | 久久99视频免费 | 波多野结衣久久资源 | 夜夜骑日日 | 久久久91精品国产一区二区精品 | 天天色天天艹 | 亚洲精品久久久久中文字幕m男 | 国产黄色大片 | 久久久久久久18 | 欧美一级淫片videoshd | 久久免费视频这里只有精品 | 国产小视频网站 | 在线国产能看的 | 久久久久国产视频 | 97色婷婷 | 国产高清无线码2021 | 日韩av片免费在线观看 | 99tvdz@gmail.com | 久久亚洲美女 | 黄色视屏在线免费观看 | 国产精品入口a级 | 亚洲干| 国产一卡二卡在线 | 色婷婷免费视频 | 九色激情网| 欧美日韩中文字幕在线视频 | 欧美精品久久天天躁 | 午夜免费久久看 | 亚洲国产精品va在线看黑人 | 日本公妇在线观看高清 | 亚洲高清在线视频 | 精品国产伦一区二区三区观看方式 | 91黄色小视频 | 日韩特黄一级欧美毛片特黄 | 欧美成人xxxxx| 在线观看国产永久免费视频 | 五月天综合网站 | 国产理论片在线观看 | 国产精品久久久久久久久久东京 | 久久久亚洲网站 | 最新av在线免费观看 | 国产97视频在线 | 91福利视频免费 | a天堂最新版中文在线地址 久久99久久精品国产 | 午夜精选视频 | 日本免费久久高清视频 | 超碰个人在线 | 中文字幕欧美激情 | 91高清免费 | 久久五月情影视 | 99精品在线| 麻豆免费在线播放 | 亚洲精品毛片一级91精品 | 99久久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 韩日精品在线 | 国产成人av电影在线 | 中文字幕乱码亚洲精品一区 | 日韩av在线免费看 | 免费看污网站 | 一区在线播放 | 久久精品国产亚洲a | 午夜123| 日韩欧美国产免费播放 | 天天av天天 | 超碰在线人人艹 | 五月婷婷在线视频 | 亚洲夜夜爽 | 国产精品一区二区麻豆 | 碰超在线观看 | 在线观看视频在线 | 免费人人干 | 最新国产在线视频 | 国产精品女人久久久久久 | 欧美久久久久久久久中文字幕 | 手机在线看永久av片免费 | 欧美成人在线免费观看 | 国产精品12 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品剧情在线亚洲 | 婷婷电影在线观看 | 亚洲免费高清视频 | 天天爽人人爽夜夜爽 | 成人影视免费看 | av观看网站 | 亚洲最大av在线播放 | 国产中文字幕第一页 | 国产精品久久久精品 | 欧美日本不卡高清 | 96亚洲精品久久久蜜桃 | 视频91在线| 狠狠狠色丁香婷婷综合久久88 | 99久免费精品视频在线观看 | 色婷婷狠狠五月综合天色拍 | 探花视频免费观看高清视频 | 免费观看91视频 | 国产精品久久久久久69 | 97涩涩视频 | 亚洲国产高清在线 | 黄污网站在线观看 | 免费a视频在线 | 日韩欧美在线视频一区二区三区 | 亚洲最新av在线网址 | 国产色综合天天综合网 | 黄网站a | 综合久久久 | 亚洲伦理一区二区 | av视屏在线| 国内精品久久久久久中文字幕 | 亚洲精品综合一区二区 | 狠狠插狠狠操 | 日韩午夜电影网 | 亚洲五月综合 | 日韩久久激情 | 日日爱影视 | 亚洲亚洲精品在线观看 | 成人黄色片免费 | 中文字幕av在线电影 | 国产成人777777| 日韩成人av在线 | 国产精品99久久久精品 | 国产欧美综合在线观看 | 午夜精品一区二区三区免费 | 午夜影院在线观看18 | 日韩中文字幕a | 在线观看视频色 | 91亚洲激情| 欧美日韩国产精品久久 |