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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

通过完整示例来理解如何使用 epoll

發布時間:2025/3/21 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过完整示例来理解如何使用 epoll 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡服務器通常使用一個獨立的進程或線程來實現每個連接。由于高性能應用程序需要同時處理大量的客戶端,這種方法就不太好用了,因為資源占用和上下文切換時間等因素影響了同時處理大量客戶的能力。另一種方法是在一個線程中使用非阻塞 I/O,以及一些就緒通知方法,即當你可以在一個套接字上讀寫更多數據的時候告訴你。

本文介紹了 Linux 的 epoll(7) 機制,它是 Linux 最好的就緒通知機制。我們用 C 語言編寫了示例代碼,實現了一個完整的 TCP 服務器。 我假設您有一定 C 語言編程經驗,知道如何在 Linux 上編譯和運行程序,并且可以閱讀手冊查看各種需要的 C 函數。

epoll 是在 Linux 2.6 中引入的,在其他類 UNIX 操作系統上不可用。它提供了一個類似于 select(2) 和 poll(2) 函數的功能:

  • select(2) 一次可以監測 FD_SETSIZE數量大小的描述符,FD_SETSIZE 通常是一個在 libc 編譯時指定的小數字。
  • poll(2) 一次可以監測的描述符數量并沒有限制,但撇開其它因素,我們每次都不得不檢查就緒通知,線性掃描所有通過描述符,這樣時間復雜度為 O(n)而且很慢。

epoll 沒有這些固定限制,也不執行任何線性掃描。因此它可以更高效地執行和處理大量事件。

一個 epoll 實例可由 epoll_create(2) 或 epoll_create1(2) (它們采用不同的參數)創建,它們的返回值是一個 epoll 實例。epoll_ctl(2) 用來添加或刪除監聽 epoll 實例的描述符。epoll_wait(2) 用來等待被監聽的描述符事件,一直阻塞到事件可用。更多信息請參見相關手冊。

當描述符被添加到 epoll 實例時,有兩種模式:電平觸發和邊緣觸發(譯者注:借鑒電路里面的概念)。當你使用電平觸發模式,并且數據可以被讀取,epoll_wait(2) 函數總是會返回就緒事件。如果你還沒有讀完數據,并且再次在 epoll 實例上調用?epoll_wait(2) 函數監聽這個描述符,由于還有數據可讀,那么它會再次返回這個事件。在邊緣觸發模式下,你只會得到一次就緒通知。如果你沒有將數據全部讀走,并且再次在 epoll 實例上調用 epoll_wait(2) 函數監聽這個描述符,它就會阻塞,因為就緒事件已經發送過了。

傳遞到 epoll_ctl(2) 的 epoll 事件結構體如下。對每一個被監聽的描述符,你可以關聯到一個整數或者一個用戶數據的指針。

C 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 */ };
1 2 3 4 5 6 7 8 9 10 11 12 13 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 */ };

現在我們開始寫代碼。我們將實現一個小的 TCP 服務器,將發送到這個套接字的所有數據打印到標準輸出上。首先編寫一個 create_and_bind() 函數,用來創建和綁定 TCP 套接字:

C static int create_and_bind (char *port) {struct addrinfo hints;struct addrinfo *result, *rp;int s, sfd;memset (&hints, 0, sizeof (struct addrinfo));hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */hints.ai_socktype = SOCK_STREAM; /* We want a TCP socket */hints.ai_flags = AI_PASSIVE; /* All interfaces */s = getaddrinfo (NULL, port, &hints, &result);if (s != 0){fprintf (stderr, "getaddrinfo: %sn", gai_strerror (s));return -1;}for (rp = result; rp != NULL; rp = rp->ai_next){sfd = socket (rp->ai_family, rp->ai_socktype, rp->ai_protocol);if (sfd == -1)continue;s = bind (sfd, rp->ai_addr, rp->ai_addrlen);if (s == 0){/* We managed to bind successfully! */break;}close (sfd);}if (rp == NULL){fprintf (stderr, "Could not bindn");return -1;}freeaddrinfo (result);return sfd; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 static int create_and_bind (char *port) { ??struct addrinfo hints; ??struct addrinfo *result, *rp; ??int s, sfd; ??memset (&hints, 0, sizeof (struct addrinfo)); ??hints.ai_family = AF_UNSPEC;???? /* Return IPv4 and IPv6 choices */ ??hints.ai_socktype = SOCK_STREAM; /* We want a TCP socket */ ??hints.ai_flags = AI_PASSIVE;???? /* All interfaces */ ??s = getaddrinfo (NULL, port, &hints, &result); ??if (s != 0) ????{ ??????fprintf (stderr, "getaddrinfo: %sn", gai_strerror (s)); ??????return -1; ????} ??for (rp = result; rp != NULL; rp = rp->ai_next) ????{ ??????sfd = socket (rp->ai_family, rp->ai_socktype, rp->ai_protocol); ??????if (sfd == -1) ????????continue; ??????s = bind (sfd, rp->ai_addr, rp->ai_addrlen); ??????if (s == 0) ????????{ ??????????/* We managed to bind successfully! */ ??????????break; ????????} ??????close (sfd); ????} ??if (rp == NULL) ????{ ??????fprintf (stderr, "Could not bindn"); ??????return -1; ????} ??freeaddrinfo (result); ??return sfd; }

create_and_bind() 包含一個標準代碼塊,用一種可移植的方式來獲得 IPv4 和 IPv6 套接字。它接受一個 port 字符串參數,可由 argv[1] 傳遞。getaddrinfo(3) 函數返回一堆 addrinfo?結構體到 result 變量中,它們與傳入的 hints參數是兼容的。addrinfo結構體像這樣:

C struct addrinfo {int ai_flags;int ai_family;int ai_socktype;int ai_protocol;size_t ai_addrlen;struct sockaddr *ai_addr;char *ai_canonname;struct addrinfo *ai_next; };
1 2 3 4 5 6 7 8 9 10 11 struct addrinfo { ??int??????????????ai_flags; ??int??????????????ai_family; ??int??????????????ai_socktype; ??int??????????????ai_protocol; ??size_t?????????? ai_addrlen; ??struct sockaddr *ai_addr; ??char????????????*ai_canonname; ??struct addrinfo *ai_next; };

我們依次遍歷這些結構體并用它們創建套接字,直到可以創建并綁定一個套接字。如果成功了,create_and_bind() 返回這個套接字描述符。如果失敗則返回 -1

下面我們編寫一個函數,用于將套接字設置為非阻塞狀態。make_socket_non_blocking() 為傳入的 sfd?參數設置 O_NONBLOCK 標志:

C static int make_socket_non_blocking (int sfd) {int flags, s;flags = fcntl (sfd, F_GETFL, 0);if (flags == -1){perror ("fcntl");return -1;}flags |= O_NONBLOCK;s = fcntl (sfd, F_SETFL, flags);if (s == -1){perror ("fcntl");return -1;}return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 static int make_socket_non_blocking (int sfd) { ??int flags, s; ??flags = fcntl (sfd, F_GETFL, 0); ??if (flags == -1) ????{ ??????perror ("fcntl"); ??????return -1; ????} ??flags |= O_NONBLOCK; ??s = fcntl (sfd, F_SETFL, flags); ??if (s == -1) ????{ ??????perror ("fcntl"); ??????return -1; ????} ??return 0; }

現在說說?main() 函數吧,它里面包含了這個程序的事件循環。這是主要代碼:

#define MAXEVENTS 64int main (int argc, char *argv[]) {int sfd, s;int efd;struct epoll_event event;struct epoll_event *events;if (argc != 2){fprintf (stderr, "Usage: %s [port]n", argv[0]);exit (EXIT_FAILURE);}sfd = create_and_bind (argv[1]);if (sfd == -1)abort ();s = make_socket_non_blocking (sfd);if (s == -1)abort ();s = listen (sfd, SOMAXCONN);if (s == -1){perror ("listen");abort ();}efd = epoll_create1 (0);if (efd == -1){perror ("epoll_create");abort ();}event.data.fd = sfd;event.events = EPOLLIN | EPOLLET;s = epoll_ctl (efd, EPOLL_CTL_ADD, sfd, &event);if (s == -1){perror ("epoll_ctl");abort ();}/* Buffer where events are returned */events = calloc (MAXEVENTS, sizeof event);/* The event loop */while (1){int n, i;n = epoll_wait (efd, events, MAXEVENTS, -1);for (i = 0; i < n; i++){if ((events[i].events & EPOLLERR) ||(events[i].events & EPOLLHUP) ||(!(events[i].events & EPOLLIN))){/* An error has occured on this fd, or the socket is notready for reading (why were we notified then?) */fprintf (stderr, "epoll errorn");close (events[i].data.fd);continue;}else if (sfd == events[i].data.fd){/* We have a notification on the listening socket, whichmeans one or more incoming connections. */while (1){struct sockaddr in_addr;socklen_t in_len;int infd;char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];in_len = sizeof in_addr;infd = accept (sfd, &in_addr, &in_len);if (infd == -1){if ((errno == EAGAIN) ||(errno == EWOULDBLOCK)){/* We have processed all incomingconnections. */break;}else{perror ("accept");break;}}s = getnameinfo (&in_addr, in_len,hbuf, sizeof hbuf,sbuf, sizeof sbuf,NI_NUMERICHOST | NI_NUMERICSERV);if (s == 0){printf("Accepted connection on descriptor %d ""(host=%s, port=%s)n", infd, hbuf, sbuf);}/* Make the incoming socket non-blocking and add it to thelist of fds to monitor. */s = make_socket_non_blocking (infd);if (s == -1)abort ();event.data.fd = infd;event.events = EPOLLIN | EPOLLET;s = epoll_ctl (efd, EPOLL_CTL_ADD, infd, &event);if (s == -1){perror ("epoll_ctl");abort ();}}continue;}else{/* We have data on the fd waiting to be read. Read anddisplay it. We must read whatever data is availablecompletely, as we are running in edge-triggered modeand won't get a notification again for the samedata. */int done = 0;while (1){ssize_t count;char buf[512];count = read (events[i].data.fd, buf, sizeof buf);if (count == -1){/* If errno == EAGAIN, that means we have read alldata. So go back to the main loop. */if (errno != EAGAIN){perror ("read");done = 1;}break;}else if (count == 0){/* End of file. The remote has closed theconnection. */done = 1;break;}/* Write the buffer to standard output */s = write (1, buf, count);if (s == -1){perror ("write");abort ();}}if (done){printf ("Closed connection on descriptor %dn",events[i].data.fd);/* Closing the descriptor will make epoll remove itfrom the set of descriptors which are monitored. */close (events[i].data.fd);}}}}free (events);close (sfd);return EXIT_SUCCESS; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 #define MAXEVENTS 64 int main (int argc, char *argv[]) { ??int sfd, s; ??int efd; ??struct epoll_event event; ??struct epoll_event *events; ??if (argc != 2) ????{ ??????fprintf (stderr, "Usage: %s [port]n", argv[0]); ??????exit (EXIT_FAILURE); ????} ??sfd = create_and_bind (argv[1]); ??if (sfd == -1) ????abort (); ??s = make_socket_non_blocking (sfd); ??if (s == -1) ????abort (); ??s = listen (sfd, SOMAXCONN); ??if (s == -1) ????{ ??????perror ("listen"); ??????abort (); ????} ??efd = epoll_create1 (0); ??if (efd == -1) ????{ ??????perror ("epoll_create"); ??????abort (); ????} ??event.data.fd = sfd; ??event.events = EPOLLIN | EPOLLET; ??s = epoll_ctl (efd, EPOLL_CTL_ADD, sfd, &event); ??if (s == -1) ????{ ??????perror ("epoll_ctl"); ??????abort (); ????} ??/* Buffer where events are returned */ ??events = calloc (MAXEVENTS, sizeof event); ??/* The event loop */ ??while (1) ????{ ??????int n, i; ??????n = epoll_wait (efd, events, MAXEVENTS, -1); ??????for (i = 0; i < n; i++) ????{ ??????if ((events[i].events & EPOLLERR) || ??????????????(events[i].events & EPOLLHUP) || ??????????????(!(events[i].events & EPOLLIN))) ????????{ ??????????????/* An error has occured on this fd, or the socket is not ???????????????? ready for reading (why were we notified then?) */ ??????????fprintf (stderr, "epoll errorn"); ??????????close (events[i].data.fd); ??????????continue; ????????} ??????else if (sfd == events[i].data.fd) ????????{ ??????????????/* We have a notification on the listening socket, which ???????????????? means one or more incoming connections. */ ??????????????while (1) ????????????????{ ??????????????????struct sockaddr in_addr; ??????????????????socklen_t in_len; ??????????????????int infd; ??????????????????char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV]; ??????????????????in_len = sizeof in_addr; ??????????????????infd = accept (sfd, &in_addr, &in_len); ??????????????????if (infd == -1) ????????????????????{ ??????????????????????if ((errno == EAGAIN) || ??????????????????????????(errno == EWOULDBLOCK)) ????????????????????????{ ??????????????????????????/* We have processed all incoming ???????????????????????????? connections. */ ??????????????????????????break; ????????????????????????} ??????????????????????else ????????????????????????{ ??????????????????????????perror ("accept"); ??????????????????????????break; ????????????????????????} ????????????????????} ??????????????????s = getnameinfo (&in_addr, in_len, ?????????????????????????????????? hbuf, sizeof hbuf, ?????????????????????????????????? sbuf, sizeof sbuf, ?????????????????????????????????? NI_NUMERICHOST | NI_NUMERICSERV); ??????????????????if (s == 0) ????????????????????{ ??????????????????????printf("Accepted connection on descriptor %d " ???????????????????????????? "(host=%s, port=%s)n", infd, hbuf, sbuf); ????????????????????} ??????????????????/* Make the incoming socket non-blocking and add it to the ???????????????????? list of fds to monitor. */ ??????????????????s = make_socket_non_blocking (infd); ??????????????????if (s == -1) ????????????????????abort (); ??????????????????event.data.fd = infd; ??????????????????event.events = EPOLLIN | EPOLLET; ??????????????????s = epoll_ctl (efd, EPOLL_CTL_ADD, infd, &event); ??????????????????if (s == -1) ????????????????????{ ??????????????????????perror ("epoll_ctl"); ??????????????????????abort (); ????????????????????} ????????????????} ??????????????continue; ????????????} ??????????else ????????????{ ??????????????/* We have data on the fd waiting to be read. Read and ???????????????? display it. We must read whatever data is available ???????????????? completely, as we are running in edge-triggered mode ???????????????? and won't get a notification again for the same ???????????????? data. */ ??????????????int done = 0; ??????????????while (1) ????????????????{ ??????????????????ssize_t count; ??????????????????char buf[512]; ??????????????????count = read (events[i].data.fd, buf, sizeof buf); ??????????????????if (count == -1) ????????????????????{ ??????????????????????/* If errno == EAGAIN, that means we have read all ???????????????????????? data. So go back to the main loop. */ ??????????????????????if (errno != EAGAIN) ????????????????????????{ ??????????????????????????perror ("read"); ??????????????????????????done = 1; ????????????????????????} ??????????????????????break; ????????????????????} ??????????????????else if (count == 0) ????????????????????{ ??????????????????????/* End of file. The remote has closed the ???????????????????????? connection. */ ??????????????????????done = 1; ??????????????????????break; ????????????????????} ??????????????????/* Write the buffer to standard output */ ??????????????????s = write (1, buf, count); ??????????????????if (s == -1) ????????????????????{ ??????????????????????perror ("write"); ??????????????????????abort (); ????????????????????} ????????????????} ??????????????if (done) ????????????????{ ??????????????????printf ("Closed connection on descriptor %dn", ??????????????????????????events[i].data.fd); ??????????????????/* Closing the descriptor will make epoll remove it ???????????????????? from the set of descriptors which are monitored. */ ??????????????????close (events[i].data.fd); ????????????????} ????????????} ????????} ????} ??free (events); ??close (sfd); ??return EXIT_SUCCESS; }

main() 首先調用 create_and_bind() 新建套接字。然后把套接字設置非阻塞模式,再調用listen(2)。接下來它創建一個 epoll 實例 efd,添加監聽套接字 sfd ,用電平觸發模式來監聽輸入事件。

外層的 while 循環是主要事件循環。它調用epoll_wait(2),線程保持阻塞以等待事件到來。當事件就緒,epoll_wait(2) 用 events 參數返回事件,這個參數是一群 epoll_event 結構體。

當我們添加新的監聽輸入連接以及刪除終止的現有連接時,efd 這個 epoll 實例在事件循環中不斷更新。

當事件是可用的,它們可以有三種類型:

  • 錯誤:當一個錯誤連接出現,或事件不是一個可以讀取數據的通知,我們只要簡單地關閉相關的描述符。關閉描述符會自動地移除 efd 這個 epoll 實例的監聽列表。
  • 新連接:當監聽描述符 sfd 是可讀狀態,這表明一個或多個連接已經到達。當有一個新連接, accept(2) 接受這個連接,打印一條相應的消息,把這個到來的套接字設置為非阻塞狀態,并將其添加到 efd 這個?epoll 實例的監聽列表。
  • 客戶端數據:當任何一個客戶端描述符的數據可讀時,我們在內部 while 循環中用 read(2) 以 512 字節大小讀取數據。這是因為當前我們必須讀走所有可讀的數據,當監聽描述符是邊緣觸發模式下,我們不會再得到事件。被讀取的數據使用 write(2) 被寫入標準輸出(fd=1)。如果 read(2) 返回 0,這表示 EOF 并且我們可以關閉這個客戶端的連接。如果返回 -1,errno 被設置為 EAGAIN,這表示這個事件的所有數據被讀走,我們可以返回主循環。

就是這樣。它在一個循環中運行,在監聽列表中添加和刪除描述符。

下載 epoll-example.c 代碼。

更新1:水平和邊緣觸發的定義被顛倒錯誤了(雖然代碼是正確的)。這是被Reddit用戶 bodski 發現的。文章現在正確了。我應該在發布前校對的。對不起,并感謝謝指出錯誤。:)

更新2:代碼被修改成連接將被阻塞時才執行accept(2),所以如果多個連接到達,我們全部接受。這是Reddit用戶 pitchford 提出。謝謝你的評論。 :)

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的通过完整示例来理解如何使用 epoll的全部內容,希望文章能夠幫你解決所遇到的問題。

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

在线91观看 | 激情五月婷婷网 | www.五月天激情 | 波多野结衣视频在线 | 99综合影院在线 | 色婷婷成人网 | 精品国产伦一区二区三区观看说明 | 国产精品一区二区在线免费观看 | 中文字幕91视频 | 天天草网站| 免费看黄网站在线 | 免费观看成人 | 久久亚洲欧美 | 国产剧情一区二区在线观看 | 五月天综合色激情 | 91视频免费播放 | 看污网站 | 中文字幕一区二区三区久久 | 天天射天天舔天天干 | 亚洲精品女 | 日本性视频 | 国产成人99久久亚洲综合精品 | 婷婷激情五月 | 在线看片一区 | 首页国产精品 | 天天色宗合 | 日日麻批40分钟视频免费观看 | 97超在线视频 | 久久99精品一区二区三区三区 | 国产精品高清免费在线观看 | 97综合网| 欧美夫妻性生活电影 | 色视频网页 | 精品在线观看一区二区三区 | 久久久国产毛片 | 成年人免费在线观看网站 | 在线黄色av | 2019中文字幕第一页 | 久久久蜜桃一区二区 | 久久久久综合视频 | 97电影院在线观看 | 亚洲天堂网站 | 天天色综合天天 | 波多野结衣在线视频一区 | 久久免费在线 | 国产999在线| 久久网站最新地址 | 国产精品2019 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 久久国产免费看 | 国产第一页在线播放 | 在线观看精品视频 | 激情久久久 | 五月天综合激情网 | 911久久香蕉国产线看观看 | 88av色 | 国产成人精品久久久久蜜臀 | a v在线观看 | 日韩av区| 亚洲夜夜网 | 青青久视频 | 欧美日韩视频在线一区 | 欧美福利精品 | 日韩美女av在线 | 一级性生活片 | 欧美激情亚洲综合 | 亚洲色图美腿丝袜 | 在线激情电影 | 亚洲久草网 | a亚洲视频 | 99热在线观看免费 | 热久久这里只有精品 | 国产乱老熟视频网88av | 波多野结衣理论片 | 欧洲视频一区 | 好看的国产精品视频 | 日本中文字幕视频 | 中文字幕在线网址 | 超碰人人99 | 国产精品一区在线播放 | 国产少妇在线观看 | 在线观看免费高清视频大全追剧 | 一本一道久久a久久精品 | 欧美精品久久人人躁人人爽 | 久草网站在线 | 免费色黄 | 久久精品视频5 | 久在线观看视频 | 久久精品一区二区 | 日日干天天爽 | 国产成人精品av在线观 | 黄p网站在线观看 | 欧美日韩网址 | 91av观看| 日韩av免费一区二区 | 日韩av黄| 天天综合人人 | 日韩精品视频免费在线观看 | 欧美特一级 | 在线观看色网站 | 超碰个人在线 | 亚洲资源一区 | 免费毛片aaaaaa | 久久黄色美女 | 视频在线观看亚洲 | 99中文在线 | 99综合视频| 国产欧美精品在线观看 | 国产资源在线视频 | 97精品国产| 一区二区高清在线 | 在线观看国产亚洲 | 国产一区二区成人 | 婷婷丁香激情网 | 一色av | 波多野结衣网址 | 精品国内自产拍在线观看视频 | 1区2区视频 | 国产色婷婷 | 操高跟美女 | 九九久久久 | 亚欧洲精品视频在线观看 | 久久久片 | 男女精品久久 | 亚洲天天摸日日摸天天欢 | 精品一区二区在线看 | 伊人久久婷婷 | 天堂av中文字幕 | 亚洲视频免费视频 | 天天射天天干天天插 | 在线视频18在线视频4k | 日韩视频免费观看高清完整版在线 | 黄色成人免费电影 | 欧美日韩免费在线视频 | 欧美老少交 | 一色av | 四虎免费av | 成人午夜电影网 | 黄色小视频在线观看免费 | 久热国产视频 | 青青河边草免费 | 久久99视频免费 | 成人国产电影在线观看 | 一本一道波多野毛片中文在线 | 国产精品日韩在线观看 | 久 久久影院 | 9在线观看免费 | 亚洲四虎影院 | 五月天婷亚洲天综合网鲁鲁鲁 | 一级黄色在线免费观看 | 日本免费久久高清视频 | 国产人成看黄久久久久久久久 | 国产视频一区二区在线 | 日韩av专区 | 99国产一区二区三精品乱码 | 国产喷水在线 | 99久久精品久久亚洲精品 | av在观看| 久久无码av一区二区三区电影网 | 在线va视频 | 人人草在线观看 | 99免费看片 | 欧美色图视频一区 | 国产99久久九九精品免费 | 天天av天天 | 国产伦精品一区二区三区免费 | 97超碰人人在线 | 综合国产在线 | 亚洲综合在线视频 | 国产码电影| 欧洲性视频 | 就操操久久 | 精品成人免费 | 久久精品96 | 国产精品免费视频一区二区 | 天天操天天操天天操天天操天天操 | 国产精品自产拍在线观看蜜 | 国产精品丝袜久久久久久久不卡 | 精品三级av | 国产精品理论片在线播放 | 超碰在线成人 | 日批网站在线观看 | 麻豆国产在线视频 | 欧美va在线观看 | 特黄一级毛片 | 国产中文字幕在线看 | 欧美日韩另类在线观看 | 黄网站色视频 | 国产又粗又猛又黄又爽 | 久久久久久综合 | 三级黄色a | 美女黄久久 | 在线观看国产一区 | 国产成人一区二区三区电影 | 国产精品成久久久久 | 国产午夜视频在线观看 | 亚洲视频在线观看 | 国产精品一区二区久久精品爱涩 | 97在线观看视频 | 精品中文字幕在线观看 | 成年人电影免费看 | 99久久er热在这里只有精品15 | 狠狠的操你 | 国产日产精品一区二区三区四区的观看方式 | 成年人免费看片 | 日产乱码一二三区别免费 | 欧美黄污视频 | 欧美成人性战久久 | 91成人在线免费观看 | 欧美日韩一级久久久久久免费看 | 久久久久久久久久久高潮一区二区 | 日韩在线精品一区 | 天天色影院| 91久久国产自产拍夜夜嗨 | 色综合久久中文综合久久牛 | 午夜精品一区二区三区在线视频 | 日韩精品一卡 | 免费视频黄色 | 亚洲国产精品电影在线观看 | 日韩美精品视频 | 久久手机看片 | 久久调教视频 | 五月婷婷激情六月 | 99国产精品| 国产成人免费精品 | 超级碰碰碰视频 | 91视频中文字幕 | 人人爽久久久噜噜噜电影 | 久久久久国产精品视频 | 91久久国产综合精品女同国语 | 亚洲精品99久久久久中文字幕 | 国产丝袜网站 | 韩国精品在线 | 久久久国产毛片 | 夜又临在线观看 | 91免费网站在线观看 | 日韩午夜电影院 | 91精品蜜桃 | 日韩xxx视频 | 九九色视频 | 欧美性猛片, | 欧美特一级 | 亚洲国产成人在线 | 最近高清中文在线字幕在线观看 | 亚洲人成影院在线 | 蜜臀av麻豆 | 久热超碰 | 黄色一级大片在线免费看产 | 欧美亚洲精品在线观看 | 一级a毛片高清视频 | 欧美污在线观看 | 欧美精品黑人性xxxx | 国产丝袜一区二区三区 | 国产精品美女在线 | 亚洲国产大片 | 久久69av| 午夜三级理论 | 亚洲美女精品 | 亚洲成人av片 | 2021国产精品视频 | 欧美国产视频在线 | 国内成人精品视频 | 亚洲精品456在线播放乱码 | 天天爽夜夜爽人人爽一区二区 | 亚洲精品小区久久久久久 | 久草在线费播放视频 | 欧美五月婷婷 | 色综合久久久久综合99 | 久久999精品 | 欧美一区二区三区四区夜夜大片 | 国产毛片aaa | 亚州天堂 | 免费h视频 | 麻豆91在线看| 国产黄色理论片 | 91视频在线免费观看 | 激情视频91 | 中文字幕丰满人伦在线 | 韩国av一区| 免费观看久久 | 国产精品黄色 | www色网站| 日韩一区在线播放 | 蜜臀91丨九色丨蝌蚪老版 | 九七视频在线 | 亚洲一级免费电影 | www视频在线播放 | 成人毛片a | 涩涩在线| 中文字幕网站 | 天堂av在线 | 成人蜜桃| 久久免费久久 | 国产精品综合久久久久 | 伊人天堂av | 蜜臀久久99精品久久久无需会员 | 91在线资源| 欧美一区二区精品在线 | 久久久久久久久久久久久久电影 | 国产精品中文在线 | 97操操| 激情偷乱人伦小说视频在线观看 | 日日日日干 | 夜夜骑日日操 | 最近日本mv字幕免费观看 | 国产人成精品一区二区三 | 欧美精品久久久久久久 | 黄a在线 | 黄污污网站 | mm1313亚洲精品国产 | 亚洲伊人婷婷 | 偷拍区另类综合在线 | 日韩免费观看视频 | 在线观看www视频 | 国产精品成人久久 | 成人性生交视频 | www.神马久久 | 91免费看黄 | 国产精品视频内 | www视频免费在线观看 | 成年人视频免费在线 | 国产高清在线看 | 亚洲高清国产视频 | 免费婷婷| 日韩成人免费在线电影 | 国产精品人人做人人爽人人添 | 欧美日韩一区二区在线观看 | 免费视频你懂的 | 国产精品久久久久久一区二区 | 久久精品国产精品亚洲 | 黄色视屏免费在线观看 | 99久久这里有精品 | 337p日本大胆噜噜噜噜 | 日本最新一区二区三区 | 日韩理论电影在线观看 | 婷婷激情影院 | 99亚洲天堂 | 24小时日本在线www免费的 | 91av蜜桃 | 亚洲精品午夜一区人人爽 | 国产剧情一区二区 | 亚洲视频在线看 | 国产黄色资源 | 久草线 | 在线精品视频免费播放 | 亚洲h在线播放在线观看h | 国产精品h在线观看 | 免费观看日韩 | 色在线视频网 | 亚洲欧美在线观看视频 | 狠狠做深爱婷婷综合一区 | av中文字幕在线观看网站 | 五月丁香 | 亚洲午夜精品久久久 | 久久国内免费视频 | 精品欧美日韩 | 免费亚洲黄色 | 69久久久| 五月婷婷色综合 | 欧美精品首页 | 国产一区二区在线播放视频 | 韩日色视频| 亚洲小视频在线 | 黄色h在线观看 | 高清不卡毛片 | 免费在线观看中文字幕 | 日日碰狠狠添天天爽超碰97久久 | 日韩欧美精品在线 | 伊人干综合 | 色欧美成人精品a∨在线观看 | 涩五月婷婷 | 国产精品 久久 | 亚洲免费永久精品国产 | 超碰在线观看av | 日韩av一卡二卡三卡 | 久久综合视频网 | 日本不卡一区二区三区在线观看 | 欧美日韩国产精品一区二区三区 | 国产在线视频一区二区 | 日韩精品久久中文字幕 | 日韩av在线网站 | 中文字幕乱码在线播放 | 精品美女久久 | 天天天天天干 | 国产精品永久在线 | 91精品国产乱码 | 在线国产中文字幕 | 午夜黄色大片 | 六月天综合网 | 中文字幕中文字幕在线一区 | 五月亚洲综合 | 麻豆免费在线视频 | 中文字幕在线不卡国产视频 | 日韩精品一区二区三区高清免费 | 国产中文字幕国产 | 欧美午夜视频在线 | 一本一本久久aa综合精品 | 国产四虎在线 | a级国产乱理论片在线观看 伊人宗合网 | 狠狠成人 | 久久夜色电影 | 免费a网址 | 中国一级片在线 | 91在线蜜桃臀 | 中文字幕在线资源 | av动态图片 | 免费福利片2019潦草影视午夜 | 久久在现 | 午夜在线看 | 精品国产人成亚洲区 | 亚洲欧美日韩精品一区二区 | 福利av影院 | 久久论理| 欧美日韩精品综合 | 天天干天天拍天天操天天拍 | 日韩欧美视频在线免费观看 | 99视频在线免费看 | 国产精品视频不卡 | 高清久久久 | 三级黄色欧美 | 五月婷婷视频在线 | 亚洲h色精品| 91精品日韩| 久久只精品99品免费久23小说 | 99久久精品免费看国产免费软件 | 欧美大香线蕉线伊人久久 | 91在线播放视频 | 国产第一页在线播放 | 欧美性视频网站 | 91在线中文 | 久久亚洲综合色 | 精品国产一区二区三区四 | 国产视频久久 | 人人看人人做人人澡 | 免费中文字幕视频 | 久草视频在线资源 | 欧美激情视频一二区 | 黄色网中文字幕 | av中文天堂在线 | 久久这里有精品 | 久久精品亚洲一区二区三区观看模式 | 91精品91 | 欧美中文字幕久久 | 中文字幕日韩无 | 午夜国产一区二区 | 日韩欧美一区二区不卡 | 看全黄大色黄大片 | 日韩一区二区三区在线观看 | 精品国产123 | 少妇视频在线播放 | 欧美在线观看视频 | 成年人在线观看免费视频 | 五月婷av| 97超碰在线免费观看 | 日本激情视频中文字幕 | 精品国产1区2区3区 国产欧美精品在线观看 | 国产精品电影一区 | 奇米影音四色 | 欧美福利精品 | av日韩精品 | av中文字幕在线观看网站 | 久久久精品一区二区 | 欧洲激情在线 | 在线观看精品一区 | 欧美一级在线看 | 免费亚洲精品视频 | 69久久99精品久久久久婷婷 | 免费特级黄色片 | 国产黑丝一区二区 | 日本公妇色中文字幕 | 天堂网在线视频 | 综合久久久 | 天天艹天天干天天 | 久久精品老司机 | 人人dvd | 免费看v片网站 | 香蕉日日 | 国产亚洲免费观看 | 视频一区亚洲 | 在线免费观看涩涩 | 色国产精品一区在线观看 | 91视频在线免费看 | 国产成人免费在线 | 2019中文字幕网站 | 国产 一区二区三区 在线 | 国产成人综合在线观看 | 激情五月网站 | 黄av免费 | 97看片吧 | 中文伊人 | 伊人热| 亚洲婷婷在线视频 | 国产一级二级av | 超碰国产在线 | 永久精品视频 | 欧美日韩a视频 | 国产裸体无遮挡 | www视频免费在线观看 | 欧美日韩午夜爽爽 | 国产成人精品亚洲日本在线观看 | 亚洲精品国产精品乱码不99热 | 在线观看视频一区二区三区 | 亚洲激精日韩激精欧美精品 | 狠狠的干狠狠的操 | 天堂av在线中文在线 | 国产99久久久精品视频 | 亚洲精品乱码久久久一二三 | 久久精品毛片基地 | 91精品视屏| 在线精品视频免费播放 | 国产一区二区久久精品 | 欧美国产日韩激情 | 黄色网大全 | 91麻豆网站 | 天天操夜夜操国产精品 | 国产视频亚洲视频 | 美女网站在线看 | 国产免费不卡 | 伊人av综合 | 最近中文字幕免费观看 | 天天草天天 | 国产精品久久久久久模特 | 成人在线超碰 | 麻豆一二三精选视频 | 国产在线观看国语版免费 | 国产99久久久国产精品免费看 | 国产成人精品一区二区三区在线观看 | a在线观看免费视频 | 欧美日韩不卡在线视频 | 999精品网| 国产不卡一二三区 | 九九99靖品 | 成人免费观看完整版电影 | 日韩啪啪小视频 | 人人射人人插 | 亚洲免费公开视频 | 国产小视频国产精品 | 激情大尺度视频 | 日韩美女高潮 | 亚州精品天堂中文字幕 | 日日操天天射 | 日本公乱妇视频 | 一二三久久久 | 三级黄色在线观看 | 国产手机在线精品 | 亚洲色图激情文学 | 久久久久久毛片精品免费不卡 | 久久天天躁夜夜躁狠狠85麻豆 | 综合久久影院 | 日韩精品久久久久久久电影99爱 | 中文字幕 婷婷 | 久久综合久久久久88 | 久久久人 | 九九影视理伦片 | 国产色在线,com | av三级av | 久久综合综合久久综合 | 99热这里只有精品久久 | 国产视频在线免费 | 免费成人在线网站 | 国产精品久久久亚洲 | 9999激情| 麻豆系列在线观看 | 在线а√天堂中文官网 | 欧美成人999 | 狠狠狠狠狠色综合 | 久草视频免费在线观看 | 国产精品18久久久久久不卡孕妇 | 久久婷婷精品 | 天天爽天天搞 | 在线观看免费黄视频 | 国产免费亚洲高清 | 91黄色影视 | 色婷婷97| 国产高清视频在线播放 | 亚洲第一区在线观看 | 91成人精品一区在线播放 | 欧美人操人 | 成人免费视频播放 | 国产精品黄色 | 久久无码精品一区二区三区 | 99免费精品视频 | 久久黄色网页 | 国产亚洲aⅴaaaaaa毛片 | 99视频久 | 国产91在线播放 | 免费在线观看一级片 | 91在线观 | 国产一区二区网址 | 日韩国产精品久久久久久亚洲 | 天天爽人人爽 | 最近中文字幕国语免费av | 一区二区三区在线不卡 | 国产精品麻豆三级一区视频 | 亚洲一区精品二人人爽久久 | 片网址| 久久久久久久免费看 | 婷婷亚洲综合五月天小说 | 国产高清日韩欧美 | 亚洲精品美女在线观看播放 | 一区二区丝袜 | 69精品视频在线观看 | 欧美日韩精品综合 | 中文av在线免费观看 | 网站免费黄 | 久久理论电影 | 日韩乱色精品一区二区 | 性色av免费在线观看 | 99视频+国产日韩欧美 | 欧美在线你懂的 | 97精品国产91久久久久久 | 91成人精品一区在线播放 | 国内精品久久久精品电影院 | 在线激情影院一区 | 狠狠综合久久 | www国产亚洲精品久久网站 | 日韩免费一区二区在线观看 | 一区二区三区免费 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产精品黄色 | 亚洲国产精品日韩 | 九九色视频| 天天舔天天射天天操 | 国产专区日韩专区 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 五月天国产精品 | 欧美日韩精品免费观看视频 | 丰满少妇久久久 | 日韩在线观看影院 | 中文一区在线 | 亚洲精品www久久久 www国产精品com | 欧美成人精品xxx | 日韩免 | 国产麻豆剧传媒免费观看 | 国产精品免费久久 | 射久久 | 黄色毛片在线 | 精品毛片一区二区免费看 | 国产精品丝袜久久久久久久不卡 | 国产精品福利无圣光在线一区 | 国产99色| 日日夜夜精品免费视频 | 精品国产区| 国产精品手机播放 | 久久免费电影网 | 99精品欧美一区二区 | 国产精品久久99综合免费观看尤物 | 色中文字幕在线观看 | 69久久久 | 免费观看www7722午夜电影 | 国产精品一区二区三区四 | 中文字幕中文字幕在线中文字幕三区 | 91精品国产99久久久久 | 在线看一区 | 欧美在线视频精品 | 久久久久这里只有精品 | 射久久久| 亚洲精品一区中文字幕乱码 | 国产精品99久久久精品免费观看 | 精品毛片在线 | 日本三级不卡视频 | 国产在线超碰 | 色五月成人| 天天天天综合 | 一区二区中文字幕在线播放 | 久草视频在线观 | 激情综合色综合久久 | 国产精品美女在线 | 日韩精品免费一区二区 | 91av社区| 欧美色精品天天在线观看视频 | 婷婷亚洲五月 | 欧美日韩国产一区二 | 久久网站免费 | 久久99免费观看 | 97精品超碰一区二区三区 | 国产精品69久久久久 | 亚洲精品字幕在线观看 | 日韩免费在线看 | 五月天亚洲激情 | 国产精品久久久久久久久免费看 | 国产精品久久久久久久久久久久午夜 | 天天操夜夜逼 | 一区二区视频电影在线观看 | 国产二级视频 | 日本69hd | 欧美aaa级片 | 97超视频免费观看 | 免费午夜在线视频 | 九九精品视频在线看 | 久久亚洲区 | 天天干天天操天天拍 | 国产中文字幕视频在线 | 又黄又色又爽 | 国产精品久久久久久久久久久免费看 | 国产99久久九九精品免费 | av观看在线观看 | 在线观看国产www | 在线成人中文字幕 | 日韩精品专区在线影院重磅 | 黄色成人av| 中文字幕色在线视频 | 国产美女视频网站 | 国产高清久久 | 人人干狠狠操 | 色综合久久精品 | 18久久久久 | 92国产精品久久久久首页 | 成人cosplay福利网站 | 99精品视频免费观看视频 | 久章草在线 | 亚洲高清视频在线播放 | 久草网站在线 | 久久久国产影院 | 久久久毛片 | 日日精品 | 欧美成人性战久久 | 欧美精品久久久久久久久久丰满 | 亚洲精品国产综合99久久夜夜嗨 | 欧美一区二区三区免费观看 | 久久爱影视i | 欧美少妇xx | 婷婷亚洲综合五月天小说 | 少妇资源站 | 精品1区2区| 9i看片成人免费看片 | 亚洲视频一级 | 亚洲aⅴ在线 | 伊人天天色 | 三上悠亚一区二区在线观看 | 成人在线播放免费观看 | 午夜久久影视 | 在线中文字幕电影 | 91传媒视频在线观看 | 日韩有码中文字幕在线 | 精品国产区在线 | 国产黄色在线 | 亚洲国产三级 | 超碰在线观看av.com | 亚洲午夜小视频 | 中文字幕国内精品 | 波多野结衣动态图 | 日韩欧美视频免费看 | 久久精品一区二区三区四区 | 免费看日韩片 | 波多野结衣精品在线 | 欧美性生活小视频 | 97精品国产97久久久久久免费 | 手机av网站 | 五月天综合激情网 | 亚洲另类在线视频 | 99久高清在线观看视频99精品热在线观看视频 | 91精品在线观看视频 | 免费看av在线 | 久久夜色精品国产欧美乱 | 亚洲天堂在线观看完整版 | 夜夜躁日日躁狠狠久久88av | 欧美精选一区二区三区 | 久青草国产在线 | 天天艹天天| 日韩欧美视频 | 91福利在线导航 | 日韩久久精品一区二区三区 | 久久久成人精品 | 99国产高清 | 亚洲 欧美日韩 国产 中文 | 国产伦理久久精品久久久久_ | 欧美日韩中文字幕视频 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 国产成人精品日本亚洲999 | 视频二区在线 | 国产精品片 | 在线观看成人av | 免费高清在线视频一区· | 久久精品一二三区白丝高潮 | 人人澡人| 国产xxxx性hd极品 | av片中文| 中文字幕欧美日韩va免费视频 | 国产成人精品一区二区三区福利 | 中文字幕亚洲不卡 | 黄色的视频网站 | 欧美老人xxxx18 | 亚洲精品av中文字幕在线在线 | 免费网站在线观看人 | 久久精品国产亚洲精品2020 | 日本爱爱片| 午夜私人影院 | 亚洲精品白浆高清久久久久久 | 久久久久成人精品免费播放动漫 | 麻豆精品视频在线观看免费 | 99精品视频网 | 奇米影视8888在线观看大全免费 | 久久精品一区二区三区四区 | www.久久99| 久久影视精品 | 精品国产伦一区二区三区观看体验 | 国产手机av | 激情视频一区二区三区 | 中文字幕日本在线观看 | 精品久久久久久电影 | 黄色网www | 91av精品| 午夜精品一区二区三区在线 | 欧美视频99 | 国产高清在线永久 | 九色免费视频 | av福利网址导航大全 | 天天狠狠干 | av在线免费观看网站 | 免费大片黄在线 | www最近高清中文国语在线观看 | 欧美一性一交一乱 | 日韩毛片精品 | 日日夜夜天天久久 | 国产日韩精品在线 | 日日夜夜天天久久 | 日韩电影久久久 | 亚洲免费国产视频 | 91毛片视频| 视频1区2区 | 国产99久久久欧美黑人 | 日本久久综合视频 | 亚洲精品播放 | 日本黄色免费电影网站 | 欧美最猛性xxxx | 91av社区| 国产精品麻 | 久久伦理网 | 噜噜色官网| 久草新在线| 丁香综合av | 久久亚洲婷婷 | 欧美一区二区三区不卡 | 久久人人爽视频 | 天天综合色天天综合 | 在线观看网站黄 | 久久不见久久见免费影院 | 在线免费观看黄网站 | 久久福利综合 | 一级做a爱片性色毛片www | 国产精品免费观看久久 | 99久久综合精品五月天 | 奇米网444| 天天干天天天 | 成人资源在线播放 | 91av视频观看 | 国产精品99久久免费黑人 | 超碰99人人| 午夜视频亚洲 | 国产一级在线 | 欧美激情综合五月色丁香小说 | 丁香五婷 | 亚洲精品www久久久 www国产精品com | 久久久久久久久影视 | 久久久精品 一区二区三区 国产99视频在线观看 | 91丨九色丨勾搭 | 亚洲精品视频一 | 中文av在线免费观看 | 国产伦精品一区二区三区无广告 | 亚洲高清国产视频 | 亚洲国产成人精品电影在线观看 | 精品久久久久国产免费第一页 | 少妇做爰k8经典 | 免费观看性生交 | 国产精品久久久久久欧美 | 成人av资源在线 | 精品产品国产在线不卡 | 精品字幕在线 | 免费看国产曰批40分钟 | 免费看的黄色录像 | 精品久久久久国产免费第一页 | 91视频在线自拍 | 久久天天躁狠狠躁亚洲综合公司 | 综合久久婷婷 | 99精品免费在线观看 | 美女网站在线看 | 81国产精品久久久久久久久久 | 在线视频麻豆 | 国产精品ⅴa有声小说 | 国产一线二线三线在线观看 | 亚洲欧洲成人精品av97 | 亚洲视频一 | 欧美性生交大片免网 | 成年人国产在线观看 | av黄色免费网站 | 在线播放 亚洲 | 色噜噜在线观看视频 | 五月天亚洲激情 | av在线收看| 91视频久久久久 | 成人av av在线 | 精品国产乱子伦一区二区 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久香蕉电影网 | 欧美a性 | 超碰在线观看99 | 国产精品高清免费在线观看 | 免费视频成人 | 黄色片免费电影 | 色姑娘综合天天 | 久草视频在线免费看 | 在线免费国产 | 91精品国产自产在线观看永久 | 成人黄大片 | 欧美综合国产 | 国际精品久久久久 | 天天操夜操视频 | 亚洲精品高清视频在线观看 | 天天草天天干天天 | 国产精品久久婷婷六月丁香 | 久久色在线观看 | 亚洲一二三区精品 | 97视频免费在线看 | 亚洲综合欧美精品电影 | 一级片视频在线 | 麻豆国产网站 | 91大神精品视频在线观看 | 国产传媒一区在线 | 热久在线 | 日韩精品不卡 | 成年人黄色在线观看 | 国产成人精品综合久久久久99 | 综合久久婷婷 | 国产精品久99 | www.天天操.com| 日韩欧美电影网 | 久久午夜影院 | 欧美久久久久久久久久 | 人人爽人人射 | 婷婷六月综合网 | 91精品一区国产高清在线gif | 亚洲国产免费网站 | 亚洲第一伊人 | 天天综合导航 | 69久久99精品久久久久婷婷 | 超碰人人舔 | 久久久免费视频播放 | 国产成人精品免高潮在线观看 | 美女视频黄频大全免费 | 国产日产精品一区二区三区四区 | 欧美视频国产视频 | 久久综合久久综合这里只有精品 | 欧美日韩二区在线 | 久久久麻豆 | 亚洲人片在线观看 | www.久久爱.cn | 婷婷丁香在线 | 国产黄色成人av | 日韩欧美成 | 欧美日韩视频一区二区三区 | 国产精品久免费的黄网站 | 深夜免费网站 | 91精品啪| 日日夜夜精品视频天天综合网 | 视频三区在线 | 日韩伦理片一区二区三区 | 在线看国产日韩 | 久久久综合精品 | 久久99精品国产一区二区三区 | 精品99久久久久久 | 91精品国产福利在线观看 | 国产午夜激情视频 | 九九久久电影 | 国产精品久久久久影院 | 国产打女人屁股调教97 | 色在线中文字幕 | 午夜国产福利视频 | 亚洲精品国产视频 | 四虎国产精品免费观看视频优播 | 国产99在线免费 | 午夜久久电影网 | 在线国产专区 | 在线 国产 亚洲 欧美 | 亚洲国产婷婷 | 国产一区电影在线观看 | 久草a在线 | 亚洲国产欧美在线人成大黄瓜 | 日本爽妇网 | 丁香花在线视频观看免费 | 亚洲日本va午夜在线电影 | 免费av网站在线看 | 天天干天天摸 | 日韩av资源在线观看 | 日韩欧美精品在线 | 久久久久高清毛片一级 | 国产精品视频一二三 | 欧美久久久久久久久中文字幕 | 成年人在线观看网站 | 亚洲第一区在线观看 | 久久久久黄 | av黄色免费看 | www.com在线观看 | 五月天丁香视频 | 亚洲少妇xxxx | 免费久久网站 | 久久久久伦理电影 | 成人免费色 |