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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 做Linux網絡開發,一般繞不開標題中幾種網絡編程模型。網上已有很多寫的不錯的分析文章,它們的基本論點是差不多的。但是我覺得他們講的還不夠詳細,在一些關鍵論點上缺乏數據支持。所以我決定好好研究這幾個模型。(轉載請指明出于breaksoftware的csdn博客)

? ? ? ? 在研究這些模型前,我決定按如下步驟去做:

  1. 實現樸素模型
  2. 實現發請求的測試程序
  3. 實現Select模型,測試其效率
  4. 實現Poll模型,測試其效率
  5. 實現Epoll模型,測試其效率
  6. 分析各模型性能,分析和對比其源碼
  7. 針對各模型特點,修改上述程序進行測試和分析

? ? ? ? 樸素模型是我們編程時可以使用的最簡單的一種模型。因為沒有一個確切的名字可以稱呼,我索性叫它樸素模型。我選擇先實現它,一是為了由易而難,二是為了遵循模型發展的過程、體會技術發展的歷程。在實現完樸素模型之后,我們要去實現一個用于發送請求的測試程序,它將幫助我們發送大量的請求,以便于之后我們對各個模型進行可用性測試。之后我們再去實現Select、Poll和Epoll網絡模型。這個順序也是技術發展的順序,我們可以在實現前一個模型時分析其優缺點,然后在后一個模型分析中,看到其對這些缺點的改進方案,體會技術進步的過程。

? ? ? ? 為了便于之后各個模型的對比,我會盡可能的重用代碼,即各個模型功能相同的模塊將使用相同的函數去實現,如果實在不可以重用,則使用參數進行區分,但是區分的代碼片段將足夠的小。所以,我們將在本文看到大部分重要的代碼實現片段。

? ? ? ? 為了比較直觀的觀察各個模型的執行,我們將在各個模型執行前,啟動一個打印統計信息的線程

         err = init_print_thread();if (err < 0) {perror("create print thread error");exit(EXIT_FAILURE);}

? ? ? ? init_print_thread函數將被各個模型使用,wait_print_thread是用于等待該打印結果的線程退出。由于我并不準備讓這個線程退出,所以wait_print_thread往往用來阻塞主線程。

 pthread_t g_print_thread;intinit_print_thread() {return pthread_create(&g_print_thread, NULL, print_count, NULL);}voidwait_print_thread() {pthread_join(g_print_thread, NULL);}

? ? ? ? print_count函數是用于線程執行的實體,它每隔一秒鐘打印一條記錄

static int g_request_count = 0;static int g_server_suc = 0;
static int g_client_suc = 0;
static int g_read_suc = 0;
static int g_write_suc = 0;static int g_server_fai = 0;
static int g_client_fai = 0;
static int g_read_fai = 0;
static int g_write_fai = 0;void* print_count(void* arg) {struct timeval cur_time;int index = 0;fprintf(stderr, "index\tseconds_micro_seconds\tac\tst\tsr\tsw\tft\tfr\tfw\n");while (1) {sleep(1);gettimeofday(&cur_time, NULL);fprintf(stderr, "%d\t%ld\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n",index,cur_time.tv_sec * 1000000 + cur_time.tv_usec,g_request_count,g_server_suc > g_client_suc ? g_server_suc : g_client_suc,g_read_suc,g_write_suc,g_server_fai > g_client_fai ? g_server_fai : g_client_fai,g_read_fai,g_write_fai);index++;}
}

? ? ? ? 上述各數據的定義如下: ? ? ? ?

  • g_request_count用于記錄總請求數;
  • g_server_suc是用于記錄服務行為成功數,其場景為:讀取客戶端成功且發送回包成功
  • g_server_fai是記錄服務其行為失敗數,其場景為:1 讀取客戶端失敗;2 讀取客戶端成功但是發送回包失敗;
  • g_client_suc用于記錄客戶端行為成功數,其場景為:發送包成功且讀取服務器回包成功;
  • g_client_fai用于記錄客戶端行為失敗數,其場景為:1 發送包失敗; 2 發送包成功但是接收服務器回包失敗;
  • g_read_suc用于記錄讀取行為成功數,其場景為: 1 服務器讀取客戶端請求包成功; 2 客戶端讀取服務器回包成功;
  • g_read_fai用于記錄讀取行為失敗數,其場景為: 1 服務器讀取客戶端請求包失敗; 2 客戶端讀取服務器回包失敗;
  • g_write_suc用于記錄發送行為成功數,其場景為: 1 客戶端向服務器發送請求包成功; 2 服務器向客戶端回包成功;
  • g_write_fai用于記錄發送行為失敗數,其場景為: 1?客戶端向服務器發送請求包失敗; 2?服務器向客戶端回包失敗;

? ? ? ? 通過數據的打印,我們將知道服務器和客戶端執行執行的過程,以及出問題的環節,還有服務器的丟包情況。

? ? ? ? 下一步,我們需要創建一個供客戶端連接的Socket。

	listen_sock = make_socket(0);

? ? ? ? 我們對make_socket傳入了參數0,是因為我們不要求創建的監聽Socket具有異步屬性。

int
make_socket(int asyn) {int listen_sock = -1;int rc = -1;int on = 1;struct sockaddr_in name;listen_sock = socket(AF_INET, SOCK_STREAM, 0);if (listen_sock < 0) {perror("create socket error");exit(EXIT_FAILURE);}rc = setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on));if (rc < 0) {perror("setsockopt error");exit(EXIT_FAILURE);}if (asyn) {rc = ioctl(listen_sock, FIONBIO, (char*)&on);if (rc < 0) {perror("ioctl failed");exit(EXIT_FAILURE);}}name.sin_family = AF_INET;name.sin_port = htons(PORT);name.sin_addr.s_addr = htonl(INADDR_ANY);if (bind(listen_sock, (struct sockaddr*)&name, sizeof(name)) < 0) {perror("bind error");exit(EXIT_FAILURE);}return listen_sock;
}

? ? ? ? 這個函數中我們使用了socket函數創建了一個TCP的Socket。并使用bind函數將該socket綁定到本機特定的端口上。

? ? ? ? 在樸素模型中,我們讓服務器是一個同步處理過程。于是不要求之后的連接具有異步屬性,所以我們創建該Socket時傳了參數0——讓監聽Socket不具有異步特性。在之后介紹的Select、Poll和Epoll模型中,我們需要客戶端接入的連接是異步的,于是我們就傳遞了參數1,讓監聽Socket具有異步特性,這樣通過它接入的連接也是異步的。

? ? ? ? Socket綁定之后,服務器就要開始監聽客戶端的接入

	if (listen(listen_sock, SOMAXCONN) < 0) {perror("listen error");exit(EXIT_FAILURE);}

? ? ? ??SOMAXCONN是可以同時處理的最大連接數,它是一個系統宏。在我系統上它的值是128。

? ? ? ? 最后,我們在一個死循環中接收并處理客戶端的請求

	while (1) {int new_sock;new_sock = accept(listen_sock, NULL, NULL);if (new_sock < 0) {perror("accept error");exit(EXIT_FAILURE);}

? ? ? ? 通過accept我們將獲得接入的socket。如果socket值合法,我們則需要讓接受的請求數自增1

		request_add(1);

? ? ? ? request_add函數將在之后不同模型以及測試程序中被調用,而且會是在不同的線程中調用。于是這兒就引入一個多線程的問題。我并不打算使用鎖等方法,而是利用簡單的原子操作來實現。

void 
request_add(int count) {__sync_fetch_and_add(&g_request_count, count);
}

? ? ? ? 由于我們設計的樸素模式是一個同步過程,所以接入的socket不是異步的。當一些特殊情況發生時,之后的讀取socket內容的行為或者往socket中寫入內容的行為可能會卡住。這樣將導致整個服務都卡住,這是我們不希望看到的。于是我們需要對該同步socket設置操作超時屬性。

		set_block_filedes_timeout(new_sock);
void
set_block_filedes_timeout(int filedes) {struct timeval tv_out, tv_in;tv_in.tv_sec = READ_TIMEOUT_S;tv_in.tv_usec = READ_TIMEOUT_US;if (setsockopt(filedes, SOL_SOCKET, SO_RCVTIMEO, &tv_in, sizeof(tv_in)) < 0) {perror("set rcv timeout error");exit(EXIT_FAILURE);}tv_out.tv_sec = WRITE_TIMEOUT_S;tv_out.tv_usec = WRITE_TIMEOUT_US;if (setsockopt(filedes, SOL_SOCKET, SO_SNDTIMEO, &tv_out, sizeof(tv_out)) < 0) {perror("set rcv timeout error");exit(EXIT_FAILURE);}
}

? ? ? ? 這兒要說明下,我在網上看過很多人提問說通過上述方法設置超時屬性無效。其實是他們犯了一個錯誤,就是將socket設置為異步屬性。如果socket既設置為異步屬性,又設置了超時,socket當然是按異步特點去執行的,超時設置也就無效了。

? ? ? ? 還有一個問題,就是有些同學在自己設計服務器和客戶端時發生了“死鎖”問題(非嚴格定義意義上的死鎖)。那是因為設計的服務器和客戶端都是同步的,而且socket都沒有設置超時。這樣在客戶端調用完write之后進入read時,服務器此時也是read狀態,導致了“死鎖”。但是這個問題并不是經常發生,因為大部分同學實現read時給了一個很大的緩存,并認為讀取的內容一次性可以讀完。而沒有考慮到一次read操作可能讀不完全部數據的情況,比如下面的實現

	while (nbytes > 0) {nbytes = recv(filedes, buffer, sizeof(buffer) - 1, 0);if (nbytes > 0) {total_length_recv += nbytes;}//buffer[nbytes] = 0;//fprintf(stderr, "%s", buffer);}

? ? ? ? 這段服務器read操作考慮到了一次性可能讀不完全部數據的問題。但是如果客戶端發送完數據后,服務器第一次recv可以把全部數據讀取出來了。由于讀取的數據大于0,于是再次進入讀取操作,這個時候,客戶端已經處于讀取服務器返回的階段。由于socket是同步的,且未設置超時,導致服務器一直卡在再次讀取的操作中,這樣就發生了“死鎖”。其實這個過程非常有意思,當我們對一段不健壯的代碼進行加固時,往往會掉到另外一個坑里。但是只要我們努力的從坑里跳出來,就會豁然開朗且認識到很多別人忽視的問題。

? ? ? ? 我們再回到正題,我們設置好socket超時屬性后,就開始讓服務器讀取客戶端的輸入內容,如果輸入內容讀取成功,則往客戶端回包。最后服務器將該次連接關閉

		if (0 == server_read(new_sock)) {server_write(new_sock);}close(new_sock);

? ? ? ? server_read方法在底層調用了read_data方法,read_data方法是我們整個代碼的兩個關鍵行為之一

int
is_nonblock(int fd) {int flags = fcntl(fd, F_GETFL);if (flags == -1) {perror("get fd flags error");exit(EXIT_FAILURE);}return (flags & O_NONBLOCK) ? 1 : 0;
}int
read_data(int filedes, int from_server) {char buffer[MAXMSG];int nbytes;int total_len_recv;int wait_count = 0;int rec_suc = 0;total_len_recv = 0;while (1) {nbytes = recv(filedes, buffer, sizeof(buffer) - 1, 0);if (nbytes < 0) {if (is_nonblock(filedes)) {if (EAGAIN == errno || EWOULDBLOCK == errno || EINTR == errno) {if (wait_count < WAIT_COUNT_MAX) {wait_count++;usleep(wait_count);continue;}}}break;}if (nbytes == 0) {//fprintf(stderr, "read end\n");break;}else if (nbytes > 0) {total_len_recv += nbytes;//buffer[nbytes] = 0;//fprintf(stderr, "%s", buffer);}if ((from_server && is_server_recv_finish(total_len_recv))|| (!from_server && is_client_recv_finish(total_len_recv))) {rec_suc = 1;break;}}

? ? ? ? read_data行為分為客戶端和服務器兩個版本實現,其基本邏輯是一樣的。我們考慮到讀取操作可能一次性讀不完,所以我們使用while循環持續嘗試讀取。如果是一個異步的socket,我們則考慮recv函數返回小于0時各種錯誤值的場景,并使用漸長等待的方式進行多次嘗試。如果是同步的socket,一旦recv返回值小于0,則退出讀取操作。total_len_recv函數用于統計一共讀取的長度,之后通過這個長度結合是否是服務器還是客戶端的標識,判斷讀取操作是否完成。

? ? ? ? 當讀取操作結束后,我們要統計讀取操作的行為及其標識的整個過程的行為。

	if (from_server) {if (rec_suc) {__sync_fetch_and_add(&g_read_suc, 1);return 0;} else {__sync_fetch_and_add(&g_read_fai, 1);__sync_fetch_and_add(&g_server_fai, 1);return -1;}} else {if (rec_suc) {__sync_fetch_and_add(&g_read_suc, 1);__sync_fetch_and_add(&g_client_suc, 1);return 0;} else {__sync_fetch_and_add(&g_read_fai, 1);__sync_fetch_and_add(&g_client_fai, 1);return -1;}}}

? ? ? ? 如果讀取操作成功,則進行發送操作。server_write方法在底層調用了write_data方法

int
write_data(int filedes, int from_server) {int nbytes;int total_len_send;int wait_count = 0;int index;int send_suc = 0;total_len_send = 0;index = 0;while (1) {if (from_server) {nbytes = send(filedes, get_server_send_ptr(index), get_server_send_len(index), 0);}else {nbytes = send(filedes, get_client_send_ptr(index), get_client_send_len(index), 0);}if (nbytes < 0) {if (is_nonblock(filedes)) {if (EAGAIN == errno || EWOULDBLOCK == errno || EINTR == errno) {if (wait_count < WAIT_COUNT_MAX) {wait_count++;usleep(wait_count);continue;}}}break;}else if (nbytes == 0) {break;}else if (nbytes > 0) {total_len_send += nbytes;}if ((from_server && is_server_send_finish(total_len_send)) ||(!from_server && is_client_send_finish(total_len_send))){send_suc = 1;break;}}

? ? ? ? 其實現和read_data思路一致,也考慮到一次性寫不完的情況和同步異步socket問題。寫入操作完成后再去統計相關行為

	if (from_server) {if (send_suc) {__sync_fetch_and_add(&g_write_suc, 1);__sync_fetch_and_add(&g_server_suc, 1);return 0;} else {__sync_fetch_and_add(&g_write_fai, 1);__sync_fetch_and_add(&g_server_fai, 1);return -1;}} else {if (send_suc) {__sync_fetch_and_add(&g_write_suc, 1);return 0;} else {__sync_fetch_and_add(&g_write_fai, 1);__sync_fetch_and_add(&g_client_fai, 1);return -1;}}
}

? ? ? ? 最后我們講下測試程序的實現。為了便于測試,我要求測試程序可以接受至少2個參數,第一個參數是用于標識啟動多少個線程發送請求;第二個參數用于指定線程中等待多少毫秒發送一次請求;第三個參數是可選的,標識一共發送多少次請求。這樣我們可以通過這些參數控制測試程序的行為

#define MAXREQUESTCOUNT 100000static int g_total = 0;
static int g_max_total = 0;void* send_data(void* arg) {int wait_time;int client_sock;wait_time = *(int*)arg;while (__sync_fetch_and_add(&g_total, 1) < g_max_total) {usleep(wait_time);client_sock = make_client_socket();connect_server(client_sock);request_add(1);set_block_filedes_timeout(client_sock);if (0 == client_write(client_sock)) {client_read(client_sock);}close(client_sock);client_sock = 0;}
}int 
main(int argc, char* argv[]) {int thread_count;int index;int err;int wait_time;pthread_t thread_id;if (argc < 3) {fprintf(stderr, "error! example: client 10 50\n");return 0;}err = init_print_thread();if (err < 0) {perror("create print thread error");exit(EXIT_FAILURE);}thread_count = atoi(argv[1]);wait_time = atoi(argv[2]);g_max_total = MAXREQUESTCOUNT;if (argc > 3) {g_max_total = atoi(argv[3]);}	for (index = 0; index < thread_count; index++) {err = pthread_create(&thread_id, NULL, send_data, &wait_time);if (err != 0) {perror("can't create send thread");exit(EXIT_FAILURE);}}wait_print_thread();return 0;
}

? ? ? ? 線程中,首先通過make_client_socket創建socket并綁定到本地端口上

int
make_client_socket() {int client_sock = -1;struct sockaddr_in client_addr;client_sock = socket(AF_INET, SOCK_STREAM, 0);if (client_sock < 0) {perror("create socket error");exit(EXIT_FAILURE);}bzero(&client_addr, sizeof(client_addr));client_addr.sin_family = AF_INET;client_addr.sin_addr.s_addr = htons(INADDR_ANY);client_addr.sin_port = htons(0);if (bind(client_sock, (struct sockaddr*)&client_addr, sizeof(client_addr)) < 0) {perror("bind error");exit(EXIT_FAILURE);}return client_sock;
}

? ? ? ? 然后通過connect_server連接服務器

void 
connect_server(int client_sock) {struct sockaddr_in server_addr;bzero(&server_addr, sizeof(server_addr));server_addr.sin_family = AF_INET;if (inet_aton("127.0.0.1", &server_addr.sin_addr) == 0) {perror("set server ip error");exit(EXIT_FAILURE);}server_addr.sin_port = htons(PORT);if (connect(client_sock, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {perror("client connect server error");exit(EXIT_FAILURE);}
}

? ? ? ? 最后通過client_write和client_read和服務器通信。這兩個函數都是調用上面介紹的write_data和read_data,所以沒什么好講的。

int
client_read(int filedes) {return read_data(filedes, 0);
}int
client_write(int filedes) {return write_data(filedes, 0);
}

? ? ? ? 我們啟動一千個線程,發送30萬次請求。看看樸素模型的處理能力。

? ? ? ? 首先我們看看服務器的結果打印

? ? ? ? 可以發現穩定的處理能力大概在每秒14000~15000左右。

? ? ? ? 我們再看看客戶端的打印


? ? ? ? 我們發現其發送頻率差不多也是14000~16000。這兒要說明下,因為客戶端是同步模型,服務器也是同步模型,所以這個速率是服務器處理的峰值。否則按照設置的1微秒的等待時間,1000個線程一秒鐘發送的請求數肯定不止15000。我使用過兩個測試進程同時去壓,也驗證了其最大的處理能力也就是在14000~15000左右(在我的配置環境下)。

? ? ? ? 我們發現,使用樸素模型實現網絡通信是非常方便的。但是這個模型有個明顯的缺點,就是一次只能處理一個請求——即接收請求、讀socket、寫socket是串行執行的。除非使用線程池去優化這個流程,否則在單線程的情況下,似乎就不能解決這個問題了。科技總是進步的,我們將在下一節講解Select模型,它就可以解決這個問題。

總結

以上是生活随笔為你收集整理的朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型的全部內容,希望文章能夠幫你解決所遇到的問題。

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

黄色av电影 | 久久精品一区二区三区四区 | 国产在线理论片 | 黄色影院在线观看 | 一区二区三区日韩视频在线观看 | 96av视频 | 国产精品久久久久久a | 91九色视频在线 | 久久久免费观看完整版 | 亚洲欧洲一区二区在线观看 | 天天操操操操操操 | 操天天操 | 亚洲国产精品久久久久久 | 成人黄色小视频 | 亚洲精品啊啊啊 | 亚州免费视频 | 亚洲黄色软件 | 国产成人99av超碰超爽 | 国产精品福利视频 | 五月开心婷婷 | 成人av影院在线观看 | www.五月天色 | 欧美精选一区二区三区 | 日韩区欠美精品av视频 | 日韩精品91偷拍在线观看 | 丁香资源影视免费观看 | 亚洲精品乱码久久久久久久久久 | 最近中文字幕高清字幕免费mv | 国产在线综合视频 | 天天做天天看 | 一本到视频在线观看 | 日日精品 | 91亚洲精品久久久蜜桃借种 | 九九视频网 | 日日爱av| 国产精品 中文字幕 亚洲 欧美 | 亚洲专区一二三 | av7777777| 最近中文字幕大全中文字幕免费 | 国产91精品看黄网站在线观看动漫 | 国产亚洲视频在线免费观看 | 中文字幕日韩有码 | 日韩欧美在线综合网 | 久草久热 | 午夜av免费在线观看 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 欧美日韩亚洲一 | 国产精品久久久久久一区二区 | 欧美一级片免费观看 | 欧美色噜噜 | 99精品在线播放 | 成人av.com | 正在播放国产一区二区 | 精品视频免费在线 | 亚洲高清久久久 | 日韩动态视频 | 99riav1国产精品视频 | 国产精品综合久久久久久 | 日韩综合一区二区三区 | 久久精品看片 | av网站大全免费 | 国产99在线播放 | 91手机在线看片 | 国产午夜精品一区二区三区在线观看 | 久草久草在线观看 | 久久成电影 | 中文字幕欧美日韩va免费视频 | 日韩日韩日韩日韩 | 在线观看一区二区精品 | www.婷婷com | 九九热免费观看 | 91综合视频在线观看 | 九九日韩 | 97超级碰碰碰视频在线观看 | 日本性xxxxx 亚洲精品午夜久久久 | 狠狠操影视 | 久久国产综合视频 | 四虎影视成人 | 探花视频免费观看高清视频 | 91视频高清完整版 | 亚洲国产精品va在线看黑人动漫 | 九九精品视频在线看 | 欧美韩国在线 | 免费三级影片 | 在线91精品 | 国产一性一爱一乱一交 | 久草综合在线观看 | 日产av在线播放 | 一区二区三区在线视频观看58 | 久草网视频| 国产精品网站 | 久久久精品欧美一区二区免费 | 五月天激情综合 | 97国产精品免费 | 亚洲精品视频免费观看 | 在线有码中文字幕 | 亚洲高清视频在线 | 久久精品视频在线 | 色资源网免费观看视频 | 国产看片网站 | 天天天射 | 97在线观看 | 黄色视屏免费在线观看 | 婷婷成人在线 | www.久艹| 在线电影 你懂得 | 丁香五月网久久综合 | 日韩欧美成 | 日韩在线看片 | 日韩免费视频线观看 | 最新国产一区二区三区 | 久久久人| 日本不卡123| 亚洲,播放| 99久久精品视频免费 | 国产经典三级 | 9ⅰ精品久久久久久久久中文字幕 | 狠狠久久 | 免费黄色av | 久久涩视频 | 热re99久久精品国产66热 | 国产精品久久久久久久电影 | 国产精品久久久久影院日本 | 国产精品精品国产婷婷这里av | 色噜噜噜 | 在线а√天堂中文官网 | 国产小视频在线免费观看视频 | 日韩三级av | 最近中文字幕大全中文字幕免费 | 天堂在线免费视频 | 国产成人精品一区在线 | 精品国产免费久久 | 丁香激情综合久久伊人久久 | 日韩欧美一二三 | 国产精品久久久久久久免费观看 | 三上悠亚一区二区在线观看 | 国产小视频在线观看 | 香蕉视频18 | 最近中文字幕mv | 黄色资源网站 | 三级视频国产 | 午夜视频色 | 狠狠狠色丁香婷婷综合久久88 | 精品免费一区二区三区 | 91激情小视频 | 国产精品2区 | 日本亚洲国产 | 国产一性一爱一乱一交 | 国产精品自产拍在线观看网站 | 97超视频在线观看 | 国产精品中文在线 | av综合av| 国产99精品在线观看 | 黄色免费网站 | 中文字幕资源网在线观看 | 精品免费国产一区二区三区四区 | 亚洲最大av | 337p日本大胆噜噜噜噜 | 欧美日韩1区2区 | 麻豆视频在线免费观看 | 成人三级av | 欧美人体xx | 成在线播放| 99视频免费 | 欧美一级片播放 | 亚洲国产精品人久久电影 | 色综合久久综合 | 一本一道久久a久久精品蜜桃 | 热久久视久久精品18亚洲精品 | 国产中文在线观看 | 狠狠色丁香久久婷婷综合五月 | 国产伦理精品一区二区 | 国产成人精品在线 | www日日| 天天操天天操天天 | 国产成人三级一区二区在线观看一 | 久草视频在线免费看 | www操操操 | 国产亚洲日本 | 狠狠色丁香婷婷综合欧美 | 久久婷婷精品视频 | 色婷婷狠狠五月综合天色拍 | 四虎在线永久免费观看 | 国产剧情在线一区 | 国产成人精品久久久 | 亚洲伦理一区二区 | 国产高清视频免费最新在线 | 亚洲美女视频网 | 久视频在线 | 亚洲黄色一级视频 | 国产婷婷精品av在线 | 国内久久精品视频 | 就要色综合 | 国产小视频在线免费观看视频 | 久久久久久国产精品999 | 国产91av视频在线观看 | 欧美日韩国产在线 | 天堂在线视频免费观看 | 国产91勾搭技师精品 | 精品国产一二三 | 91私密保健 | 日韩激情片在线观看 | 久久精品视频免费播放 | 在线免费观看视频一区二区三区 | 久久福利在线 | 日韩电影中文字幕在线 | 成 人 黄 色 视频 免费观看 | 日韩在线免费 | 六月丁香激情综合 | 日韩精品综合在线 | av在线播放国产 | 日韩久久一区 | 久久久久久久久毛片 | 黄色av电影在线 | 国产又黄又猛又粗 | 17videosex性欧美 | www.av在线.com | 99久久99视频只有精品 | 天天操人人要 | 国产一在线精品一区在线观看 | 日韩色中色 | 色诱亚洲精品久久久久久 | 又黄又爽的免费高潮视频 | 激情婷婷网 | 日韩高清不卡一区二区三区 | 高清在线一区二区 | 天天操比| 日本中文字幕网 | 91网站免费观看 | 91麻豆传媒 | 日韩黄色在线电影 | 国产亚洲一级高清 | 人人爱人人爽 | www.国产精品 | 中文字幕在线视频国产 | 国产一级h | 91福利视频免费观看 | 亚洲国产精品久久久久久 | 天天做天天爱天天综合网 | 久久国产色| 五月婷婷在线视频 | 激情综合久久 | 久久综合九色综合欧美狠狠 | 国产精品一区二区三区在线播放 | 日韩av黄 | 国产亚洲精品久久久久久无几年桃 | 91粉色视频 | 丁香高清视频在线看看 | 字幕网资源站中文字幕 | 玖玖在线观看视频 | 成人久久久久久久久久 | 国产一区二区三区免费观看视频 | 麻豆传媒视频在线免费观看 | 中文字幕高清有码 | 91精品啪啪| 国产精品专区在线 | 免费男女羞羞的视频网站中文字幕 | 91超国产| 韩国av免费| 狠狠狠色狠狠色综合 | 天天操天天操天天操天天操天天操天天操 | 日韩有码专区 | 黄网站免费大全入口 | 国产精品久久久久久一二三四五 | 天天干天天做 | 亚洲精品国产拍在线 | 97色免费视频 | 国产一区二区免费在线观看 | 偷拍精偷拍精品欧洲亚洲网站 | 免费久久视频 | 国产精品久久久久999 | 午夜久久影院 | 久久最新视频 | 91视频这里只有精品 | 精品产品国产在线不卡 | 久久久久女人精品毛片九一 | 免费av观看 | 超碰夜夜 | 午夜精品福利在线 | 麻豆精品在线 | 日韩欧美综合视频 | 视频在线观看99 | 在线国产日韩 | 4438全国亚洲精品观看视频 | 青春草视频| 人人草在线观看 | 91九色网站 | 偷拍精偷拍精品欧洲亚洲网站 | 国产成人在线精品 | 国产 欧美 日本 | 人人爽网站 | 国产精品免费视频一区二区 | 日日夜夜av | 国产看片免费 | 中文字幕日本在线观看 | 精品日韩在线一区 | 成年人毛片在线观看 | 在线视频日韩精品 | 最新国产精品久久精品 | 国产一在线精品一区在线观看 | 992tv人人网tv亚洲精品 | 三级黄色欧美 | 日日夜夜天天久久 | 97超级碰 | 亚洲精品福利在线观看 | 国产精品久久久久av免费 | www.狠狠色 | 天海冀一区二区三区 | 久久久久久久99精品免费观看 | 激情九九 | 九九激情视频 | 日韩精品一区二区三区外面 | 伊人成人精品 | 99久久99久久精品 | 91久久黄色 | 探花视频免费观看高清视频 | 在线免费视频 你懂得 | av成人免费在线观看 | 成人免费在线电影 | 精品国产乱码一区二 | 91在线你懂的 | 色网站在线观看 | 久久精品国产一区二区电影 | 麻豆视频网址 | 国产91综合一区在线观看 | 久久99亚洲精品 | 久久综合加勒比 | 日韩在线播放视频 | 在线观看视频黄 | 日韩黄色中文字幕 | 欧美a级一区二区 | 一区二区三区在线观看免费 | 亚洲 中文字幕av | 亚洲精品毛片一级91精品 | 欧美日韩国产一区二 | 国产精品v a免费视频 | 亚洲人成免费网站 | 福利视频| 日韩网站在线看片你懂的 | 欧美专区日韩专区 | www成人精品 | 国产一区二区三区高清播放 | wwwwww黄 | 一区二区三区高清 | 日韩在线观看中文 | 一区二区三区四区精品 | 日韩av免费在线看 | 怡红院成人在线 | 久久午夜色播影院免费高清 | 91理论片午午伦夜理片久久 | 日韩国产精品一区 | 国产成人精品午夜在线播放 | 99久久99久久精品国产片果冰 | 欧美9999 | 91看片淫黄大片在线播放 | 国产精品一区二区在线 | 麻豆成人网 | 激情图片qvod | 五月天亚洲婷婷 | 久久久久激情电影 | 天天操天天射天天 | 在线色吧| 亚洲精品中文在线资源 | 国产免费av一区二区三区 | 婷婷色 亚洲 | 日韩精品视| 肉色欧美久久久久久久免费看 | 国产999视频在线观看 | 一级免费黄色 | 特级毛片爽www免费版 | 综合精品久久 | 欧美一区日韩一区 | 色婷婷电影 | 久久亚洲国产精品 | 亚洲精品国产精品乱码在线观看 | 一区二区不卡在线观看 | 91久久久久久久一区二区 | 色多多污污在线观看 | 国产97在线播放 | 丁香av | 精品久久国产精品 | 日韩v欧美v日本v亚洲v国产v | 日韩黄色中文字幕 | 九九国产视频 | 久久久免费精品 | 国产精品久99 | 热久久在线视频 | 亚洲精品玖玖玖av在线看 | 久久综合九色综合欧美就去吻 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 免费日韩av片 | 国产91在线观看 | 国产99久久久精品 | 在线观看国产 | 免费三级a| 中文免费在线观看 | 99re中文字幕 | 国产打女人屁股调教97 | 久草在线视频免费资源观看 | 国产在线国偷精品产拍免费yy | 色婷婷伊人 | 中文字幕超清在线免费 | 久久精品这里精品 | 久久精品站 | 91插插影库 | 成人影片在线免费观看 | 久久久久亚洲精品成人网小说 | 久久噜噜少妇网站 | 日韩欧美电影在线 | 99久久婷婷国产一区二区三区 | 国产精品免费观看视频 | 97在线观看视频 | 黄色一级在线视频 | 亚洲午夜精品久久久久久久久 | 在线看污网站 | 美女视频黄在线 | www.超碰97.com | 97人人超碰在线 | 欧美精彩视频在线观看 | 国产精品一区二区三区四 | 欧美一级日韩三级 | 国产精品麻豆果冻传媒在线播放 | 波多野结衣在线中文字幕 | 日韩中文幕 | 国产精品综合久久 | 99精品一级欧美片免费播放 | 夜夜操狠狠操 | 久久99热这里只有精品国产 | 色吊丝在线永久观看最新版本 | 亚洲乱码精品久久久久 | 高潮久久久| 午夜影视一区 | 亚洲天堂毛片 | 三级在线国产 | 免费观看黄| 黄色www | 五月开心激情 | 久久久久久久久久久久久久电影 | 欧美日韩中文字幕在线视频 | 免费视频 三区 | 色噜噜狠狠狠狠色综合久不 | 亚洲一区免费在线 | av在线电影网站 | 国产女人18毛片水真多18精品 | 免费a网址| 一区二区三区国 | 亚洲一区二区天堂 | 欧美91精品 | 又黄又爽又刺激的视频 | 日韩一区二区三区不卡 | 天天天天天天干 | 亚洲视频在线观看免费 | 日本三级在线观看中文字 | 奇米网网址 | 天天色 天天 | 欧美一区二区三区免费观看 | 91桃色在线免费观看 | 日韩黄色影院 | 国产精品一区二区在线看 | 日韩视频在线一区 | 九草视频在线 | 特级a老妇做爰全过程 | 日本中文在线播放 | 日韩视频在线观看视频 | 狠狠干婷婷色 | 337p日本欧洲亚洲大胆裸体艺术 | 99久久精品国产观看 | 天天色天天操综合网 | 亚洲三级在线播放 | 在线观看免费版高清版 | 欧美日韩裸体免费视频 | 欧美日本在线观看视频 | 午夜男人影院 | 免费网站污 | 成人在线你懂得 | 四虎国产精品免费观看视频优播 | 欧美日韩在线观看一区二区 | www.色就是色 | 国产一区不卡在线 | 91亚洲夫妻 | 天天爽综合网 | 精品国产一区二区三区久久久蜜臀 | 天天干.com| 亚洲综合激情 | 亚洲aⅴ一区二区三区 | 香蕉网在线观看 | 久久99精品久久久久久三级 | 九九视频这里只有精品 | 黄色www在线观看 | 夜夜高潮夜夜爽国产伦精品 | 人人操日日干 | 久草视频一区 | 国产在线精品一区 | 中文字幕一区二区三区精华液 | 国产精品永久久久久久久www | mm1313亚洲精品国产 | 国产美女精品视频 | 久热免费在线观看 | 亚洲精品大片www | 天天激情在线 | 午夜精品视频一区 | 久久久婷 | 四虎免费在线观看视频 | 色中文字幕在线观看 | 精品在线观 | 99精品毛片 | 天天做综合网 | 中文字幕av全部资源www中文字幕在线观看 | 最新国产视频 | 中文字幕高清有码 | 色在线高清 | 国产福利电影网址 | 天天久久夜夜 | 久久免费视频6 | 91视频一8mav| 黄网站免费看 | 美女视频是黄的免费观看 | 成年人视频在线免费播放 | 人人澡人人爽 | 久草在线资源观看 | 久久国产免费 | 国产在线超碰 | 日本三级国产 | 久操伊人 | 国产午夜一区二区 | 国产伦理久久精品久久久久_ | 蜜桃麻豆www久久囤产精品 | 国产精品字幕 | 中文字幕在线第一页 | 久久久久久久久免费视频 | 欧美激情在线网站 | 亚洲精品视频免费在线观看 | 免费久久久久久 | 亚洲女人av | 日日夜夜天天久久 | 久久久久久久久久久免费视频 | 五月天电影免费在线观看一区 | 久久久久久久电影 | 久久好看免费视频 | 麻豆视传媒官网免费观看 | 成年人国产精品 | 操久久免费视频 | 亚洲免费在线观看视频 | 日日夜夜精品免费观看 | 亚洲天堂va | 国产精品久久久久久久久久直播 | 91九色蝌蚪视频在线 | 天天爱天天操天天射 | 91精品国产91 | 91精品久久久久久久99蜜桃 | 超碰在线1 | 伊人六月 | 国产伦理久久精品久久久久_ | 综合久久精品 | 亚洲一区二区精品3399 | 亚洲精品国产品国语在线 | 亚洲九九影院 | 在线观看免费日韩 | 国产成人一区二区三区影院在线 | 欧美日韩精品在线视频 | 国产精品va在线 | 色综合天天在线 | 国产成人精品福利 | 国产一区二区三区免费观看视频 | 亚洲人人精品 | 99视频网站| 四虎成人免费观看 | 久久久久国产一区二区三区 | 亚洲成av人影片在线观看 | 欧美精品久久久久久久久久久 | 国产精品久久久久久久免费观看 | 在线香蕉视频 | 午夜在线免费观看 | 久久国内精品视频 | 国产日产精品一区二区三区四区 | 国产一级高清 | 亚洲开心激情 | 欧美精品中文 | 天天草天天 | 成人综合婷婷国产精品久久免费 | 国产麻豆精品传媒av国产下载 | 精品久久亚洲 | 午夜视频在线观看一区二区 | 综合天堂av久久久久久久 | 亚洲最新合集 | 一区二区三区免费在线观看视频 | 日日夜夜精品 | 97在线精品国自产拍中文 | 97在线公开视频 | 久草免费看| 天天操天天摸天天干 | 国产视频一 | 在线视频观看成人 | 久久免费视频6 | 黄色免费网站大全 | 久草视频在线播放 | 国产精品网在线观看 | 国内精品久久久久影院男同志 | 久久免费视频这里只有精品 | 福利电影久久 | 国产精品久久久久久久免费大片 | 色综合久久久久综合体桃花网 | 摸bbb搡bbb搡bbbb | 久久综合日 | 久久黄页 | 国产综合激情 | 婷婷色综 | 亚洲欧美精品一区二区 | 97在线影视 | 99久久这里有精品 | 精品久久影院 | 亚洲专区视频在线观看 | 黄色三几片 | 国产在线高清精品 | 亚洲在线成人精品 | 久久久免费播放 | 天天干天天做 | 久久久久亚洲天堂 | 在线看污网站 | 91手机视频在线 | 91精品国产91久久久久久三级 | 色婷婷a | 国产精品久久久久永久免费 | 成人一区电影 | 亚洲黄电影| 久久综合久久综合这里只有精品 | 日韩在线高清 | 中文字幕乱码电影 | 婷婷色中文网 | 国产精品99免视看9 国产精品毛片一区视频 | 免费av大片 | 在线免费黄色av | 麻豆视频免费在线播放 | 国产精品福利在线观看 | 99久久999久久久精玫瑰 | 免费在线观看国产精品 | 91九色在线播放 | avwww在线| 中文字幕一区二区三区在线播放 | av中文字幕第一页 | 婷婷色在线观看 | 免费在线观看成年人视频 | 亚洲人人精品 | 久久综合九色欧美综合狠狠 | 色婷婷六月 | 黄网站大全 | 少妇bbr搡bbb搡bbb | 日韩欧美在线免费观看 | 国产成人久久久久 | av丁香花 | 国产精品视频99 | 香蕉视频91 | 免费在线观看成人小视频 | 国产精品免费久久久久久久久久中文 | 91精品国产亚洲 | 日本aa在线| 国产美女在线精品免费观看 | 黄色www在线观看 | 国产精品一区二区av日韩在线 | 欧美日韩国产伦理 | 超级碰碰碰碰 | 久久精品美女视频网站 | 久久精视频 | 免费观看一级视频 | 69视频在线播放 | 久久伊99综合婷婷久久伊 | 国产亚洲在线 | av.com在线| 久久再线视频 | 欧美日韩国产一区二区在线观看 | 国产精品一区二区62 | 国产麻豆果冻传媒在线观看 | 成人影片免费 | 欧美精品久久久久久久久老牛影院 | 日韩久久久久久久久久 | 97人人射| 久久精品牌麻豆国产大山 | 五月开心婷婷网 | 日本久久久久久久久久 | 精品国产免费观看 | 黄色1级大片 | 亚洲天天在线日亚洲洲精 | 美女久久99 | 中文字幕亚洲字幕 | 91视频免费看片 | 国产精品理论视频 | 日韩欧美在线国产 | 黄色成品视频 | 国产午夜三级 | 黄色网免费 | 成人观看 | 国产免费一区二区三区最新6 | 国产精品久久一区二区三区不卡 | 激情久久小说 | 91亚洲精品国产 | 亚洲国产精品视频在线观看 | 亚洲日本中文字幕在线观看 | 久久亚洲福利视频 | 色视频在线看 | 国产精品久久久久久久av电影 | 四虎在线观看精品视频 | 国产精品国产三级国产aⅴ9色 | 欧美aaa一级 | 久久不色 | 天天操天天操天天操 | 中文字幕在线久一本久 | 亚洲砖区区免费 | 日韩欧美视频二区 | 日韩精品视频在线观看网址 | 日韩网站在线观看 | 综合精品久久 | 超碰公开97 | 色婷婷久久久综合中文字幕 | 91色偷偷 | www.狠狠色.com | 国产高清无av久久 | 日韩va亚洲va欧美va久久 | 91人人澡人人爽 | 在线国产一区二区三区 | 国产成人精品a | 色综合久久久久久中文网 | 天天射天天干天天操 | 99热超碰在线 | 91自拍视频在线观看 | 99热亚洲精品 | 国产福利在线不卡 | 久久99久久99精品免观看粉嫩 | www..com毛片| 欧美大片在线观看一区 | 亚洲精品在线二区 | 超碰在线日本 | 国产视频在线看 | 亚洲天堂在线观看完整版 | 日韩成人免费观看 | 色婷婷激情综合 | 日韩免费看| 免费看黄色毛片 | 久久视频精品在线 | 日韩在线小视频 | 黄色大片视频网站 | 日本资源中文字幕在线 | 免费影视大全推荐 | 四虎影视欧美 | 激情综合久久 | 国产精品久久99 | 波多野结衣一区二区三区中文字幕 | 日韩欧美视频一区 | 操综合 | 91热这里只有精品 | 久久99精品久久久久蜜臀 | 国产激情小视频在线观看 | 久久99国产精品久久99 | 久草免费在线观看视频 | 婷婷av色综合 | 国产精品久久久久久久久久久久 | 中文字幕在线影院 | av中文字幕亚洲 | 狠狠狠色丁香综合久久天下网 | 欧美在线观看视频一区二区 | 成片视频免费观看 | 精品久久久国产 | 91精品国自产在线观看欧美 | av一区二区三区在线 | 日韩美女免费线视频 | 激情开心色 | 久久婷婷精品视频 | 国产真实在线 | 国产精品久久一区二区无卡 | 97在线视频观看 | 国产视频欧美视频 | www.亚洲激情.com | 伊人五月天婷婷 | 亚洲经典中文字幕 | 91丨porny丨九色| 中文字幕视频免费观看 | 日本在线h| 在线观看亚洲电影 | av成人资源 | 麻豆国产精品永久免费视频 | 婷婷丁香七月 | 在线中文字幕电影 | 免费激情网 | 成人免费观看网站 | 黄色三级免费观看 | 欧美日韩精品在线视频 | www免费黄色 | 久久久国产毛片 | 久草视频在线免费看 | 亚洲午夜久久久久久久久 | 三级黄色免费 | 91成人在线免费观看 | 日韩久久久久久 | 国产精品久久99 | 人人草网站 | 国产日本在线观看 | 有码一区二区三区 | 久久国产系列 | 日韩欧美高清在线 | 日韩乱理| 一区二区三区精品在线 | 久久精品日韩 | 少妇超碰在线 | 亚洲精品国偷拍自产在线观看 | 久久久免费国产 | 久操久 | av中文在线观看 | av 一区二区三区 | 91色影院| 特级免费毛片 | 黄色av网站在线观看免费 | 色资源在线 | 亚洲作爱视频 | 国产视频 久久久 | 免费网址在线播放 | www.婷婷色 | 成人在线视频免费看 | 九色福利视频 | 天天操天天摸天天爽 | 成人久久久久久久久久 | 久久久不卡影院 | 精品乱码一区二区三四区 | 中文字幕美女免费在线 | 欧美日韩亚洲精品在线 | 欧美看片 | 亚洲视频 中文字幕 | 国产精品女同一区二区三区久久夜 | 亚洲最大av网站 | 久久免费视频7 | 久久人人爽爽人人爽人人片av | 在线涩涩| 中文字幕在线视频一区二区 | 国产精品久久久一区二区 | 欧美日韩高清不卡 | 91桃花视频 | 99国产精品免费网站 | 国产午夜精品在线 | 久久国产一区二区三区 | 久久图| 欧美嫩草影院 | 中文字幕资源站 | 天天天干 | 国产色视频123区 | 成人三级网站在线观看 | 高清一区二区 | a级国产乱理论片在线观看 特级毛片在线观看 | av先锋影音少妇 | 色狠狠狠| 久久96国产精品久久99软件 | 黄色一级在线视频 | 久久精品99国产精品 | 国产一级性生活 | 九九热在线观看 | 中文字幕国产在线 | 黄色中文字幕在线 | 五月婷丁香 | 开心激情五月婷婷 | 久草精品视频在线观看 | 免费在线国产视频 | 久久国产色 | 亚洲日本国产精品 | 久久免费国产精品1 | 亚洲精品久久久久久久蜜桃 | 91成人精品国产刺激国语对白 | av千婊在线免费观看 | 免费能看的黄色片 | 午夜精品中文字幕 | av资源网在线播放 | 日日夜夜国产 | 亚洲精品www. | 久久免费国产电影 | 欧美韩国在线 | 色在线国产| 在线一二区 | 日韩精品在线免费播放 | 在线天堂日本 | av网站手机在线观看 | 夜夜看av | 亚洲精品免费在线观看视频 | 亚洲视频播放 | 国产精品18久久久久久久久 | 中文字幕二区在线观看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 在线观看黄色免费视频 | 久久免费福利视频 | 日韩av网站在线播放 | 久久国产高清 | 免费看片网址 | 麻豆av一区二区三区在线观看 | 久久精品在线视频 | 国产精品免费一区二区三区在线观看 | 99热 精品在线 | 色狠狠综合 | 黄色软件在线观看 | 精品国产乱码久久久久久三级人 | 国产精品久久久久久吹潮天美传媒 | 色婷婷六月天 | 国产91综合一区在线观看 | 国产女v资源在线观看 | 最近免费观看的电影完整版 | 国产麻豆精品95视频 | 五月婷香蕉久色在线看 | 国产精品欧美激情在线观看 | 97人人网 | 韩国三级av在线 | 久久久久综合 | 激情狠狠干| 国产一区在线精品 | 成人免费在线观看入口 | 中文字幕丰满人伦在线 | 国产系列 在线观看 | 亚洲人成人在线 | 亚洲日本韩国一区二区 | 黄色资源在线 | 九九热免费在线视频 | 国产小视频免费观看 | 久久新| 综合伊人av | 午夜久久久久久久久久影院 | 久久久久国产精品厨房 | 国产精品毛片一区二区 | 国产视频亚洲 | 免费进去里的视频 | 免费观看性生交 | 久久99精品波多结衣一区 | 在线观看国产 | 久久免费精品 | 国产日产在线观看 | 久久99电影| 欧美做受高潮电影o | 久久久久久久久久久久国产精品 | 亚洲黄色网络 | 精品一区电影国产 | 久久精品免费 | 韩日电影在线观看 | 欧美国产精品一区二区 | 一区二区三区免费播放 | 亚洲爱av | 欧美日韩中文国产一区发布 | 成年人免费av | 国产亚洲无 | 亚洲综合在线观看视频 | 九九免费精品视频 | 99视频精品在线 | 中文字幕之中文字幕 | www.久久色 | 国产99精品 | 日韩av在线免费看 | 亚洲国产中文在线观看 | 成人avav| 国产午夜精品免费一区二区三区视频 | 久久免费黄色网址 | 国产999免费视频 | 欧美一区二区三区在线视频观看 | 久草视频免费在线播放 | 精品国产一区二区三区免费 | 男女靠逼app | 99热官网 | 久在线| 狠狠色丁香久久婷婷综 | 精品久久久精品 | 涩涩爱夜夜爱 | 久久手机在线视频 | 日日夜夜噜噜噜 | 天天操天天舔天天干 | 成人在线播放av | 看黄色91 | 久久这里只有精品23 | 日日弄天天弄美女bbbb | 欧美日韩在线免费观看 | www好男人| 精品国产亚洲日本 | 色婷婷久久久综合中文字幕 | 亚洲精品午夜视频 | 日韩一二三| 四虎国产免费 | 久久久久久久影院 | 黄色av免费 | 不卡的av中文字幕 | 在线观看国产www | 免费在线观看国产黄 | 欧美一级免费在线 | 久久久久久久久久久网站 | 超碰人人射 | 日韩国产欧美在线视频 | 国产精品欧美精品 | 天天天色综合a | 天天色 天天 | 992tv又爽又黄的免费视频 | 五月婷婷影院 | 在线观看亚洲a | 日本在线观看中文字幕无线观看 | 欧美亚洲另类在线视频 | 成人精品99 | 日韩精品一区二区三区电影 | 免费看黄的视频 | 欧美日韩久久久 | 久久人人爽av | 天天草综合|