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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

TCP/IP网络编程之基于TCP的服务端/客户端(二)

發布時間:2023/11/30 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP网络编程之基于TCP的服务端/客户端(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回聲客戶端問題

上一章TCP/IP網絡編程之基于TCP的服務端/客戶端(一)中,我們解釋了回聲客戶端所存在的問題,那么單單是客戶端的問題,服務端沒有任何問題?是的,服務端沒有問題,現在先讓我們回顧下服務端的I/O代碼

echo_server.c

…… while ((str_len = read(clnt_sock, messag, 1024)) != 0)write(clnt_sock, messag, str_len); ……

    

接著,我們回顧客戶端的代碼

echo_client.c

…… write(sock, message, strlen(message)); str_len = read(sock, message, 1024 - 1); ……

  

二者都在循環調用read或write函數,實際上之前的回聲客戶端將100%接收自己傳輸的數據,只不過接收數據時的單位有些問題

觀察下面的代碼,我們可以知道回聲客戶端傳輸的是字符串,而且是通過調用write函數一次性發送,之后還調用了一次read函數,期待著接收自己傳輸的字符串,這就是問題所在

echo_client.c

…… while (1) {fputs("Input message(Q to quit):", stdout);fgets(message, 1024, stdin);if (!strcmp(message, "q\n") || !strcmp(message, "Q\n"))break;write(sock, message, strlen(message));str_len = read(sock, message, 1024 - 1);message[str_len] = 0;printf("Message from server:%s", message); } ……

  

既然回聲客戶端會收到所有字符串數據,是否只需多等一會?過一段時間再調用read函數是否可以一次性讀取所有的字符串內容?的確,過一段時間后即可接收,但需要多久?1秒還是1分鐘?沒人知道。而且這也不符合常理,正常應該客戶端在收到字符串數據時立即讀取并輸出

其實問題很容易解決,因為可以提前確定接收數據的長度,若之前傳輸了20個字節長的字符串,則在接收時循環調用read函數讀取20個字節即可,下面,我們解決方案的代碼

echo_client2.c

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #define BUF_SIZE 1024 void error_handling(char *message);int main(int argc, char *argv[]) {int sock;char message[BUF_SIZE];int str_len, recv_len, recv_cnt;struct sockaddr_in serv_adr;if (argc != 3){printf("Usage:%s<IP><port>\n", argv[0]);exit(1);}sock = socket(PF_INET, SOCK_STREAM, 0);if (sock == -1)error_handling("socket()error");memset(&serv_adr, 0, sizeof(serv_adr));serv_adr.sin_family = AF_INET;serv_adr.sin_addr.s_addr = inet_addr(argv[1]);serv_adr.sin_port = htons(atoi(argv[2]));if (connect(sock, (struct sockaddr *)&serv_adr, sizeof(serv_adr)) == -1)error_handling("connect()error");elseputs("Connected..........");while (1){fputs("Input message(Q to quit):", stdout);fgets(message, BUF_SIZE, stdin);if (!strcmp(message, "q\n") || !strcmp(message, "Q\n"))break;str_len = write(sock, message, strlen(message));recv_len = 0;while (recv_len < str_len){recv_cnt = read(sock, &message[recv_len], BUF_SIZE - 1);if (recv_cnt == -1)error_handling("read()error!");recv_len += recv_cnt;}message[recv_len] = 0;printf("Message from server:%s", message);}close(sock);return 0; }void error_handling(char *message) {fputs(message, stderr);fputc('\n', stderr);exit(1); }

  

在45~56行是變更及添加部分,echo_client.c僅調用了一次read函數,上述示例為了接收所有傳輸數據而循環調用read函數。另外代碼48行還可以寫成如下形式:

while (recv_len != str_len) {…… }

  

接收的數據大小應和傳輸的相同,因此recv_len中保存的值等于str_len保存的值時,即可跳出while循環

回聲客戶端可以提前知道接收數據的長度,但這只是特例,多數情況下,我們是不知道接收數據的長度,那么我們應該如何收發數據?此時需要的就是應用層協議的定義,之前回聲服務端/客戶端中曾經定義:收到Q就立即終止連接

同樣,收發數據過程中也需要定好規則(協議)以表示數據的邊界,或提前告知收發數據的大小。服務端/客戶端實現過程中逐步定義的這些規則集合就是應用層協議,可以看出應用層協議并不是什么高深的技術,僅僅是為了特定程序而制定的規則

下面我們就來編寫一個應用層協議的程序,該程序中服務端從客戶端獲得多個數字和運算符信息。服務器端收到這些信息后根據運算符對數字做處理再返回給客戶端,例如:客戶端向服務端傳遞3、5、9的同時請求加法運算,那么服務端做完3+5+9=17的結果后會返回給客戶端

op_client.c

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #define BUF_SIZE 1024 #define RLT_SIZE 4 #define OPSZ 4 void error_handling(char *message); int main(int argc, char *argv[]) {int sock;char opmsg[BUF_SIZE];int result, opnd_cnt, i;struct sockaddr_in serv_adr;if (argc != 3){printf("Usage:%s <IP><port>\n", argv[0]);exit(1);}sock = socket(PF_INET, SOCK_STREAM, 0);if (sock == -1){error_handling("socket() error");}memset(&serv_adr, 0, sizeof(serv_adr));serv_adr.sin_family = AF_INET;serv_adr.sin_addr.s_addr = inet_addr(argv[1]);serv_adr.sin_port = htons(atoi(argv[2]));if (connect(sock, (struct sockaddr *)&serv_adr, sizeof(serv_adr)) == -1)error_handling("connect() error!");elseputs("Connected......");fputs("Operand count:", stdout);scanf("%d", &opnd_cnt);opmsg[0] = (char)opnd_cnt;for (i = 0; i < opnd_cnt; i++){printf("Operand %d:", i + 1);scanf("%d", (int *)&opmsg[i * OPSZ + 1]);}fgetc(stdin);fputs("Operator:", stdout);scanf("%c", &opmsg[opnd_cnt * OPSZ + 1]);write(sock, opmsg, opnd_cnt * OPSZ + 2);read(sock, &result, RLT_SIZE);printf("Operation result:%d\n", result);close(sock);return 0; } void error_handling(char *message) {fputs(message, stderr);fputc('\n', stderr);exit(1); }

  

  • 第8、9行:將待計算的數字的字節數和運算結果的字節數設為常數
  • 第14行:為收發數據準備的內存空間,需要數據積累到一定程度后再收發,因此通過數組創建
  • 第37、38行:從用戶的輸入中得到待算數個數后,保存至數組opmsg。強制轉換成char類型,因為協議規定待算數個數應通過一個字節整數型傳遞,因此不能超過一個字節整數型能夠表示的范圍。示例中用的是有符號整數型,但待算數個數不能是負數,因此使用無符號整數型更合理
  • 第40~44行:從用戶的輸入中得到待算整數,保存到數組opmsg。4字節int型數據要保存到保存到char數組,因而在轉換成int指針類型
  • 第45行:第47行中輸入字符,在此之前調用fgetc函數刪掉緩沖中的字符'\n'
  • 第47行:最后輸入運算符信息,保存到opmsg數組
  • 第48行:調用write函數一次性傳輸opmsg數組中的運算相關信息,可以調用一次write函數進行傳輸,也可以分多次調用
  • 第49行:保存服務端傳輸的運算結果,待接收的數據長度為4字節,因此調用一次read函數即可接收

?

?

圖1-1? ?客戶端op_client.c的數據傳送格式

從圖1-1可以看出,若想在同一數組中保存并傳輸多種數據類型,應把數組聲明為char類型。而且需要額外做一些指針及數組運算。接下來給出服務端代碼:

op_server.c

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #define BUF_SIZE 1024 #define OPSZ 4 void error_handling(char *message); int calculate(int opnum, int opnds[], char operator);int main(int argc, char *argv[]) {int serv_sock, clnt_sock;char opinfo[BUF_SIZE];int result, opnd_cnt, i;int recv_cnt, recv_len;struct sockaddr_in serv_adr, clnt_adr;socklen_t clnt_adr_sz;if (argc != 2){printf("Usage:%s<port>\n", argv[0]);exit(1);}serv_sock = socket(PF_INET, SOCK_STREAM, 0);if (serv_sock == -1)error_handling("socket() error");memset(&serv_adr, 0, sizeof(serv_adr));serv_adr.sin_family = AF_INET;serv_adr.sin_addr.s_addr = htonl(INADDR_ANY);serv_adr.sin_port = htons(atoi(argv[1]));if (bind(serv_sock, (struct sockaddr *)&serv_adr, sizeof(serv_adr)) == -1)error_handling("bind() error");if (listen(serv_sock, 5) == -1)error_handling("listen() error");clnt_adr_sz = sizeof(clnt_adr);for (i = 0; i < 5; i++){opnd_cnt = 0;clnt_sock = accept(serv_sock, (struct sockaddr *)&clnt_adr, &clnt_adr_sz);read(clnt_sock, &opnd_cnt, 1);recv_len = 0;while ((opnd_cnt * OPSZ + 1) > recv_len){recv_cnt = read(clnt_sock, &opinfo[recv_len], BUF_SIZE - 1);recv_len += recv_cnt;}result = calculate(opnd_cnt, (int *)opinfo, opinfo[recv_len - 1]);write(clnt_sock, (char *)&result, sizeof(result));close(clnt_sock);}close(serv_sock);return 0; } int calculate(int opnum, int opnds[], char op) {int result = opnds[0], i;switch (op){case '+':for (i = 1; i < opnum; i++)result += opnds[i];break;case '-':for (i = 1; i < opnum; i++)result -= opnds[i];break;case '*':for (i = 1; i < opnum; i++)result *= opnds[i];break;}return result; } void error_handling(char *message) {fputs(message, stderr);fputc('\n', stderr);exit(1); }

  

  • 第38行:為了接收5個客戶端的連接請求而編寫的for語句
  • 第42行:首先接收待算數個數
  • 第45~49行:根據第42行中的待算數個數接收待算數
  • 第50行:調用calculate函數的同時傳遞待算數和運算符信息參數
  • 第51行:向客戶端傳輸calculate函數返回的運算結果

編譯op_server.c并運行

# gcc op_server.c -o op_server # ./op_server 8500

  

編譯op_client.c并運行

# gcc op_client.c -o op_client # ./op_client 127.0.0.1 8500 Connected...... Operand count:3 Operand 1:1 Operand 2:2 Operand 3:3 Operator:+ Operation result:6 # ./op_client 127.0.0.1 8500 Connected...... Operand count:2 Operand 1:2 Operand 2:15 Operator:* Operation result:30

  

TCP原理

之前我們說過,TCP套接字的數據收發無邊界,服務端即使調用一次write函數傳輸60個字節的數據,客戶端也有可能分3次調用read函數,每次讀取20個字節的數據。但此處也有些疑問,服務端一次性傳輸60個字節的數據,而客戶端分批讀取??蛻舳嗽谧x取20個字節后,剩下的40個字節在何處等候呢?實際上,write函數調用后并非立即傳輸數據,read函數調用后也并非馬上接收數據。更準確地說,圖1-2所示,write函數調用瞬間,數據將移至輸出緩沖;read函數調用瞬間,從輸入緩沖讀取數據

圖1-2? ?TCP套接字的I/O緩沖

如圖1-2所示,調用write函數時,數據將移到輸出緩沖,在適當的時候(不管是分別傳送還是一次性傳送)傳向對方的輸入緩沖。這時對方將調用read函數從輸入緩沖讀取數據。這些I/O緩沖特性如下:

  • I/O緩沖在每個TCP套接字中單獨存在
  • I/O緩沖在創建套接字時自動生成
  • 即使關閉套接字也會繼續傳遞輸出緩沖中遺留的數據
  • 關閉套接字將丟失輸入緩沖中的數據

如果客戶端輸入緩沖有50個字節,但服務端卻有100個字節需要傳輸,是否會造成數據丟失?之前說過TCP是可靠的,不會發生超過輸入緩沖大小的數據傳輸,因為TCP會控制數據流,其中有滑動窗口協議,接收數據的套接字每次會告訴發送數據的套接字可傳遞的最大字節數,于是發送數據的套接字收到這個數字后傳遞等長度大小的數據,待接收數據的套接字發現緩沖中騰出更多位置,會告訴發送數據的套接字,接收更多的數據。因此,TCP不會因為緩沖滿了而丟失數據

TCP內部工作原理1:與對方套接字的連接

TCP套接字從創建到消失所經過程分為如下三步:

  • 與對方套接字建立連接
  • 與對方套接字進行數據交換
  • 斷開與對方套接字的連接
  • TCP在實際通信過程中也會經歷三次對話過程,因此,該過程又稱為Three-way handshake(三次握手),如圖1-3所示:

    圖1-3? ?TCP套接字的連接設置過程

    套接字是以雙全工方式工作的,也就是說它可以雙向傳遞數據。因此,收發數據前需要做一些準備,首先,請求連接的主機A向主機B傳遞如下消息:

    [SYN] SEQ:1000, ACK:-

    該消息中SEQ為1000,ACK為空,而SEQ為1000的含義是:主機A現傳遞的數據包序號為1000給主機B,如果接收無誤,請通知主機A向主機B傳遞1001號數據包。這是首次請求連接時使用的消息,又稱SYN。SYN是Synchronize的簡寫,表示收發數據前傳輸的同步消息。接下來,主機B向主機A傳遞消息:[SYN+ACK] SEQ:2000, ACK:1001。此時SEQ為2000,ACK為1001,而SEQ具體含義和之前一樣:主機B現傳遞的數據包序號為2000給主機A,如果接收無誤,請通知主機B向主機A傳遞2001號數據包

    而ACK 1001的含義為:剛才傳輸的SEQ為1000的數據包接收無誤,請傳遞SEQ為1001的數據包。對于主機A首次傳輸的數據包的確認消息(ACK 1001)和主機B傳輸數據做準備的同步消息(SEQ 2000)捆綁發送,因此,此種類型的消息又稱SYN+ACK

    收發數據前向數據包分配序號,并向對方通報此序號,這都是為防止數據丟失所做的準備。通過向數據包分配序號并確認,可以在數據丟失時馬上查看并重傳丟失的數據包。因此,TCP可以保證可靠的數據傳輸。最后觀察主機A向主機B傳輸消息:[ACK] SEQ: 1001, ACK: 2001。我們都明白SEQ和ACK的含義了,主機A現在向主機B傳遞1001號數據包,并表示2001號數據包接收無誤。至此,主機A和主機B確認了彼此均就緒

    TCP內部工作原理2:與對方主機的數據交換

    通過第一步三次握手過程完成了數據交換準備,下面就開始正式收發收據。其默認方式如圖1-4所示:

    圖1-4? ?TCP套接字的數據交換過程

    圖1-4給出了主機A分兩次向主機B傳輸各100字節的過程。首先主機A通過一個數據包發送100個字節的數據,數據包的SEQ為1200。主機B為了確認這一點,向主機A發送ACK1301消息。此時的ACK號為1301而非1201,原因在于ACK號的增量為傳輸的數據字節數。假設每次ACK號不加傳輸的字節數,這樣雖然可以確認數據包到達目標主機,但無法明確100字節全部正確到達還是丟失了一部分。因此ACK消息公式為:ACK號 = SEQ號 + 傳遞字節數 + 1

    與三次握手協議相同,最后加一是為了告知對方下次要傳遞的SEQ號。下面分析傳輸過程中數據包消失的情況,如圖1-5:

    如圖1-5? ?TCP套接字數據傳輸過程中發生錯誤

    圖1-5表示通過SEQ 1301數據包向主機B傳遞100字節數據。但中間發生了錯誤,主機B未收到,經過一段時間,主機A仍為收到對于SEQ 1301的ACK確認,因此試著重傳該數據包。為了完成數據包的重傳,TCP套接字啟動計時器以等待ACK應答。若計時器發生超時則重傳

    TCP的內部工作原理3:斷開與套接字的連接

    TCP套接字的結束過程也與之前相似,如果對方還有數據需要傳輸時直接斷掉連接會出現問題,所以斷開連接時需要雙方協商,先由套接字A向套接字B傳遞斷開連接的消息,套接字B發出確認收到的消息,然后向套接字A傳遞可以斷開連接的消息,套接字A同樣發出確認的消息,如圖1-6所示:

    圖1-6? ?TCP套接字斷開連接過程

    圖1-6數據包內的FIN表示斷開連接。也就是說,雙方各發送一次FIN消息后斷開連接,此過程經歷四個階段,因此稱為四次握手(Four-way handshaking)。圖1-6向主機A傳遞兩次ACK 5001,也許這會讓大家感到困惑,這里做一下解答:主機A向主機B發送FIN消息,告訴主機B自己沒有數據可以發送,但如果主機B還有數據沒發送完,可以不必急著關閉套接字,可以繼續發送數據。于是,主機B發送ACK。當主機B確認數據發送完畢,則向主機A發送FIN消息,告訴主機A數據全部發送關閉,準備關閉連接。主機A收到FIN消息,還是不相信網絡,怕主機B不知道要關閉,所以發送ACK,如果主機B沒有收到可以重傳。主機B收到ACK后,就知道可以斷開連接了,于是主機A等待在超時時間內沒有收到回復, 則證明主機B已關閉連接,于是主機A也跟著關閉連接

    轉載于:https://www.cnblogs.com/beiluowuzheng/p/9656284.html

    總結

    以上是生活随笔為你收集整理的TCP/IP网络编程之基于TCP的服务端/客户端(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    一区二区三区四区五区在线 | 欧美日韩一区二区视频在线观看 | av片一区二区 | 在线黄av| 色中色亚洲 | 久久在线精品 | 在线影院 国内精品 | 在线看成人 | 亚洲欧美日韩不卡 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 成 人 黄 色视频免费播放 | 中文字幕在线观看视频一区 | 三级在线视频观看 | 日韩欧美一区二区在线播放 | 国产一区二区影院 | 欧美精品在线一区二区 | 国产精品美女视频 | 麻豆一二 | 久久视频二区 | 国产成人av | aaa免费毛片| 天天爱天天操天天射 | 成人精品在线 | 亚洲成 人精品 | 丝袜一区在线 | 国产一区二区在线免费观看 | 99久久久精品| 成年人在线 | 一区二区三区动漫 | 在线播放视频一区 | 国产一区二区三区在线免费观看 | 日本最新中文字幕 | 亚洲日本韩国一区二区 | 热久久99这里有精品 | 日韩激情视频在线 | 激情综合网色播五月 | 99爱视频| 色婷婷六月| 玖操 | 444av| 婷婷国产在线观看 | 天天干天天射天天插 | 国产成人av电影在线 | 天天草av| 国产 欧美 日产久久 | 综合亚洲视频 | 国产在线欧美日韩 | 99国产一区 | 亚洲在线 | 最新日韩精品 | 久久刺激视频 | 岛国精品一区二区 | 黄色毛片一级 | 亚洲激情在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久综合久久鬼 | 国产精品1区2区 | 亚洲高清网站 | 四川妇女搡bbbb搡bbbb搡 | 日日成人网| 欧美黄网站 | 黄色av电影网 | 69成人在线 | 麻豆传媒视频在线 | av无限看| 久久久久免费视频 | 五月天中文字幕mv在线 | 在线观看视频你懂 | 亚洲一区二区视频在线 | 黄色动态图xx | 亚洲 中文 欧美 日韩vr 在线 | 国产午夜精品一区二区三区在线观看 | 天天搞夜夜骑 | av网站在线观看播放 | 日韩免费福利 | 欧洲精品码一区二区三区免费看 | 麻豆影音先锋 | 久久久亚洲麻豆日韩精品一区三区 | 中文字幕频道 | 九月婷婷人人澡人人添人人爽 | 久久久久久免费网 | 美女视频黄色免费 | 天天操综合 | 综合在线观看色 | 免费福利视频网站 | 久久美女电影 | 亚洲精品高清视频在线观看 | 欧美日韩国产欧美 | 高清不卡一区二区三区 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品久久99综合免费观看尤物 | 一级电影免费在线观看 | 狠狠网站 | 国产成人福利在线观看 | 中国一区二区视频 | 久久视了 | 国产va饥渴难耐女保洁员在线观看 | 亚洲成av人影片在线观看 | 不卡国产在线 | 精品亚洲国产视频 | 精品福利片 | 91秒拍国产福利一区 | 欧美激情视频免费看 | av成人免费在线观看 | 欧美激情视频久久 | 最新国产精品拍自在线播放 | 欧美日韩国产综合一区二区 | 国产视频亚洲视频 | 国产精品网红直播 | 欧美日韩久 | 美女视频永久黄网站免费观看国产 | 99精品视频播放 | 国产精品你懂的在线观看 | 1024手机在线看 | 精品国自产在线观看 | 久久精品一区 | 亚洲人成综合 | 日韩欧美有码在线 | 91在线你懂的 | 免费看的国产视频网站 | 中文字幕在线免费观看视频 | 热久久免费视频 | 黄污在线看| 久久国产综合视频 | 色先锋av资源中文字幕 | 国产男女爽爽爽免费视频 | 色av网站| 成人一区二区三区在线 | 在线只有精品 | 亚洲电影图片小说 | 久久久久久久久久久高潮一区二区 | 综合激情av | 在线视频99 | 久久精品第一页 | 午夜久久久久久久 | 麻豆91在线看 | 久久午夜电影院 | 久久精品视频在线 | 亚洲一区二区观看 | 日精品| 天天操网站| 亚洲国产高清在线观看视频 | 视频国产区 | 精品亚洲国产视频 | 欧美日韩国产精品一区二区 | 四虎5151久久欧美毛片 | 日本 在线 视频 中文 有码 | 国产青草视频在线观看 | 国产96av | 波多野结衣电影一区二区三区 | 奇米四色影狠狠爱7777 | 久久久黄视频 | 日韩免费视频观看 | 色夜影院| 青青草国产精品 | 久久国语露脸国产精品电影 | 97视频免费观看 | 国产乱对白刺激视频在线观看女王 | av在线之家电影网站 | 中文字幕免费国产精品 | 国产精品综合在线 | av综合在线观看 | 免费看短 | 亚洲精品美女在线观看 | 久久亚洲欧美日韩精品专区 | 在线观看免费观看在线91 | 国产一区在线免费观看 | www.五月天| 日日夜夜天天干 | 成年人app网址 | 99精品在线视频播放 | 成人精品一区二区三区中文字幕 | 在线看国产视频 | 亚洲四虎在线 | 97在线视频免费看 | 中文字幕色婷婷在线视频 | 国产成人精品午夜在线播放 | 另类五月激情 | 在线观看韩国av | 久久久男人的天堂 | 又色又爽又激情的59视频 | 国产资源在线观看 | 欧美另类xxxx | 在线亚洲人成电影网站色www | 少妇18xxxx性xxxx片 | 看毛片的网址 | 人人舔人人 | 国产精品孕妇 | 国产成人精品av久久 | 国内精品视频在线 | 国产欧美综合视频 | 天天干天天草 | 黄色网址a| 欧美一级裸体视频 | 日韩欧美视频一区二区 | 色综久久| 天天干天天操天天入 | 亚洲日韩欧美一区二区在线 | 中文在线√天堂 | 999国内精品永久免费视频 | 狠狠色狠狠色终合网 | www.777奇米| 亚洲成色777777在线观看影院 | 韩国精品一区二区三区六区色诱 | 国产一二区视频 | 精品国产一二区 | 在线天堂中文www视软件 | 久久99国产精品免费网站 | 亚洲午夜久久久久久久久电影网 | 日本在线观看一区二区 | 一区三区视频 | 亚洲免费一级电影 | 久久精品视频4 | 天天干天天射天天操 | 亚洲综合激情网 | 成人免费色 | 亚洲成aⅴ人片久久青草影院 | 在线观看亚洲精品 | 国产资源精品在线观看 | 在线观看免费福利 | av中文资源在线 | 国内丰满少妇猛烈精品播放 | 日韩欧美在线观看一区二区三区 | 丁香花在线视频观看免费 | 一二三区高清 | 亚洲区另类春色综合小说 | 日韩二三区 | 国产成人在线一区 | 最近日本韩国中文字幕 | 狠狠色丁香婷婷综合最新地址 | 中文字幕在线免费看线人 | 欧美成人亚洲 | 91麻豆产精品久久久久久 | 日韩资源在线观看 | 久久夜靖品 | 国语精品免费视频 | 日本一区二区免费在线观看 | av在线免费在线 | 国产免费观看av | 波多野结依在线观看 | 97国产一区| 毛片一级免费一级 | 日韩在线视频网站 | 久久久综合九色合综国产精品 | 久久久久久久久免费视频 | 国产精品一区二区三区久久 | 国产精品video爽爽爽爽 | 亚洲午夜久久久久久久久电影网 | 欧美日韩一区二区免费在线观看 | 国产91在线免费视频 | 亚洲狠狠婷婷综合久久久 | 香蕉久久久久久av成人 | 热re99久久精品国产66热 | 国产综合久久 | 一级免费黄视频 | 午夜国产一区二区三区四区 | 五月婷丁香网 | 日韩三级在线观看 | 五月婷婷在线视频观看 | 亚洲精品免费在线观看视频 | 狠狠狠狠狠狠狠干 | 精品久久久一区二区 | 久99久精品视频免费观看 | 激情综合网五月婷婷 | 日本少妇视频 | 奇米先锋 | 黄色成人影视 | 亚洲四虎影院 | 天天射天天干天天操 | 在线免费视频 你懂得 | 中文字幕二区三区 | 色在线视频 | 欧美日韩国产一区 | 玖玖在线视频观看 | 米奇影视7777 | 天天干 天天摸 天天操 | 91九色最新 | 免费在线观看国产精品 | 午夜精品一区二区三区视频免费看 | 一区二区三区国 | 又爽又黄又刺激的视频 | 国产成人免费在线 | 亚洲另类xxxx | 日本激情中文字幕 | 伊人婷婷 | 久久伊人操 | 日韩高清成人在线 | 久久免费一级片 | 97av视频在线| 成人av观看 | 狠狠的日 | 国产女做a爱免费视频 | 在线观看成人福利 | 伊人国产在线播放 | 亚洲国产手机在线 | www.久久com | 日韩高清一二区 | 午夜在线看片 | 91免费版成人 | 丁香久久久 | 亚洲动漫在线观看 | 九色精品免费永久在线 | 亚洲精品一区中文字幕乱码 | 91成人精品一区在线播放69 | 99热精品在线 | 天天操天天射天天爱 | 久久精品伊人 | 国产美女视频免费 | 在线观看免费国产小视频 | 99视频精品| 国产精品一码二码三码在线 | 亚洲jizzjizz日本少妇 | 日本激情中文字幕 | av免费片 | 国产精品av免费在线观看 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 亚洲精品自拍 | 婷婷亚洲五月色综合 | 99视频在线观看免费 | 欧美久久综合 | 国产婷婷精品av在线 | 婷婷六月中文字幕 | 国产精品久久久久久久免费观看 | 激情五月色播五月 | 91亚洲国产成人久久精品网站 | 久久五月婷婷丁香 | 97精品在线| 五月婷婷国产 | 99精品国产福利在线观看免费 | 国产一区二区在线精品 | 91在线免费视频观看 | 成人欧美一区二区三区在线观看 | 亚洲国产精品电影 | 久操视频在线 | 九九九热视频 | 国内精品久久久久久久久久清纯 | 免费日韩精品 | 欧美精品一区二区在线观看 | 国产精品99久久久久久久久久久久 | 午夜免费在线观看 | 国产精品 日韩 欧美 | 国产一级黄大片 | 国产精品手机视频 | 国偷自产视频一区二区久 | 黄色免费大片 | 中文字幕 欧美性 | 国产二区视频在线观看 | 成人黄色毛片视频 | 国产精品免费一区二区三区 | 91超级碰碰 | 精品在线视频一区二区三区 | 99在线精品免费视频九九视 | 韩国av永久免费 | 91成人短视频在线观看 | 精品伦理一区二区三区 | 亚洲精品免费在线 | 又黄又爽免费视频 | 国产毛片久久久 | 国产视频日本 | 精品久久久久久国产偷窥 | 在线观影网站 | 欧美一区二区在线 | 天天射天天干天天插 | 亚洲久草网 | 国产在线p | 欧美一区二区在线 | 手机看片中文字幕 | 国产 一区二区三区 在线 | 国产精品99久久免费观看 | 精品av网站 | 天天色 天天 | 国产精品色在线 | 五月天伊人网 | 青青河边草免费 | 国产v亚洲v | 涩涩网站免费 | 国产玖玖视频 | 黄视频网站大全 | av色影院| 在线精品在线 | 西西www4444大胆在线 | 亚洲最新毛片 | 操操操天天操 | 久久久18| 超碰免费观看 | 亚洲国产片 | 97国产精品亚洲精品 | 亚洲v欧美v国产v在线观看 | 五月激情久久 | 中文乱幕日产无线码1区 | 婷婷丁香六月 | 久久在线看 | 天天艹日日干 | 亚洲综合涩 | 久草干 | 欧美日在线观看 | 91视频久久久久 | 天堂视频一区 | 亚洲视频在线免费看 | 91欧美日韩国产 | 在线视频一二三 | av资源网在线播放 | 天天操天天舔天天干 | 国产精品成人免费精品自在线观看 | 国产精品久久久久永久免费看 | 亚洲综合在线发布 | 国产又黄又猛又粗 | 96av视频| 99精品视频在线看 | 日韩一区二区三区高清免费看看 | 丁香六月激情婷婷 | 国产高清视频在线观看 | 亚洲欧美日韩精品一区二区 | 亚洲国产视频在线 | 91最新地址永久入口 | 亚洲午夜精 | 免费看的黄色 | 亚洲国产精品va在线 | 国产成人av片 | 亚洲精品日韩在线观看 | 欧美天堂视频在线 | 最近高清中文在线字幕在线观看 | 亚洲精品黄色 | 成人精品久久久 | 日韩另类在线 | 6080yy精品一区二区三区 | 黄色网免费 | 成人在线视频你懂的 | 热久精品 | 色小说av | 国产精品黄色 | 99久久精品国产欧美主题曲 | 国产不卡一区二区视频 | 天天干天天想 | 天天色棕合合合合合合 | 成人午夜久久 | 免费在线色电影 | 久久久精品国产一区二区电影四季 | 国产精品毛片一区二区 | 中文永久免费观看 | 国际精品久久 | 视频在线观看入口黄最新永久免费国产 | 天天操天天操天天操天天 | 亚洲欧美日韩一二三区 | 亚洲成av人影片在线观看 | 日韩精品aaa | 国产91精品高清一区二区三区 | 亚洲国产免费看 | 久久精品爱爱视频 | 日本在线h | 国产极品尤物在线 | 狠狠操操网 | 2021国产精品| 91人网站 | 天堂av网在线 | 国产传媒中文字幕 | 国产精品午夜在线 | 97成人啪啪网 | 91成人免费看片 | 亚洲另类视频在线观看 | 国产免费黄色 | 欧美一级性视频 | 亚洲精品女人久久久 | 成人日批视频 | 在线看av网址 | 91黄色影视| 亚洲国产日韩一区 | 福利一区视频 | 日韩欧美xx | 麻豆av一区二区三区在线观看 | 天天做日日做天天爽视频免费 | 夜夜骑日日 | 欧美激情综合五月色丁香小说 | 九九热在线视频免费观看 | 亚洲一区美女视频在线观看免费 | 精品国产aⅴ一区二区三区 在线直播av | 国产精品中文在线 | 婷婷亚洲最大 | 久久免费中文视频 | 婷婷激情综合网 | a√天堂资源 | 亚洲精色| 日韩在线免费 | 亚州欧美视频 | 中国一级片免费看 | 日韩午夜电影网 | av中文字幕电影 | 欧美91视频| 久久国产露脸精品国产 | 久久精品视频免费 | 亚洲免费国产视频 | 日韩在线观看视频中文字幕 | 五月婷婷免费 | 成人免费观看在线视频 | 久久久久久久久久久成人 | 91精品视频观看 | 午夜精品一区二区三区免费视频 | 高清av在线免费观看 | 亚洲精品毛片一级91精品 | 日韩黄色软件 | 精品嫩模福利一区二区蜜臀 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产精品一区二 | 日韩视频在线不卡 | 欧美成人91 | 97超碰人人模人人人爽人人爱 | 91成人免费观看视频 | 亚洲免费永久精品国产 | 99精品福利视频 | 国产在线精品一区二区不卡了 | 久草观看视频 | av黄色在线播放 | 久色婷婷 | 免费高清在线观看成人 | 久久婷婷亚洲 | 亚洲精品在线观看免费 | 国产视频在线免费观看 | 免费高清无人区完整版 | 最近最新最好看中文视频 | 久久国产一区二区三区 | 伊人色综合久久天天 | 国产午夜不卡 | 国产精品videossex国产高清 | 成人在线播放免费观看 | 人人澡人人模 | 99在线观看免费视频精品观看 | 91激情| 婷婷久久网| 精品久久一| 久久另类小说 | 男女激情麻豆 | 免费情缘 | 成人在线免费看视频 | 美女黄视频免费 | 97超碰人人澡 | 亚州av免费 | av免费片 | 激情小说网站亚洲综合网 | 国产精品久久久久久久久毛片 | 在线观看av免费 | 久久综合偷偷噜噜噜色 | 六月色婷 | av在线精品 | www婷婷| 精久久久久 | 欧美日韩国产精品一区 | 视频在线观看入口黄最新永久免费国产 | 欧美日韩中文字幕视频 | 在线免费av播放 | 国产69精品久久久久99 | 日韩啪啪小视频 | 狠狠躁天天躁 | 麻豆系列在线观看 | 久久激情日本aⅴ | 欧美成人在线网站 | 四川妇女搡bbbb搡bbbb搡 | 午夜精品视频一区二区三区在线看 | 日韩精品中文字幕av | 国内精品久久久久久久影视麻豆 | 在线视频手机国产 | 激情av在线播放 | 丁香六月婷婷开心婷婷网 | 欧美日韩中文国产一区发布 | 99久久激情视频 | 午夜婷婷网 | 国产黄色高清 | 久久99最新地址 | 久草免费在线观看视频 | 久久国产精品99精国产 | 日韩中出在线 | 在线之家官网 | 在线色视频小说 | h文在线观看免费 | 九精品 | 国产精品99久久久久久小说 | 国产xvideos免费视频播放 | 日本午夜在线亚洲.国产 | 99精品国产高清在线观看 | 婷婷色吧 | 日韩a级免费视频 | 一区二区三区免费 | bbbb操bbbb| 日韩欧美精品一区二区三区经典 | 天天鲁天天干天天射 | 亚洲精品久久久久www | 99久久精品免费看国产一区二区三区 | 欧美激情综合色综合啪啪五月 | 久久久久免费精品视频 | 欧美成人区| 国产不卡一 | 综合色综合色 | 天天操天天操天天干 | 外国av网| 在线视频 你懂得 | 精品女同一区二区三区在线观看 | 精品在线小视频 | 黄色a级片在线观看 | 国产精品久久久久久久久久久久久 | 天天操天天操天天操天天操天天操 | 国产一级免费在线 | 99精品热视频只有精品10 | 99视频99 | 日本中文字幕在线观看 | 国产精品美女www爽爽爽视频 | 国产二区视频在线观看 | 国产精品久久9 | 97超碰色偷偷 | 久产久精国产品 | 国产高清久久久久 | 日韩在线播放视频 | 欧美日韩xxxxx| 日本精品在线 | 亚洲第二色 | 国产麻豆电影在线观看 | 成 人 黄 色 视频播放1 | 国产成人av电影在线观看 | 国内精品一区二区 | 成人久久免费视频 | 99久久婷婷国产一区二区三区 | 色久天 | 五月天久久综合网 | 五月婷婷电影网 | 天堂av免费| 在线探花| 日韩天天干 | 99精品欧美一区二区三区 | 免费国产一区二区视频 | 中文在线www| 久久久久久美女 | 精品一区二区三区四区在线 | 国产成人三级在线观看 | 国产成人精品亚洲a | 国产美女精彩久久 | 91麻豆产精品久久久久久 | 五月天电影免费在线观看一区 | 在线国产精品一区 | 91视频啪| 91精品麻豆| 久久久久久美女 | 波多野结衣视频在线 | 九九视频免费在线观看 | 一区二区激情视频 | 91黄视频在线观看 | 欧美伦理一区 | 五月天久久久久久 | 久久麻豆精品 | 性色在线视频 | 黄色成年片 | 日韩av电影中文字幕在线观看 | 亚洲精品免费在线视频 | 婷婷中文字幕综合 | 国产成人在线一区 | 欧美日韩国产色综合一二三四 | 久久久久一区二区三区四区 | 69国产盗摄一区二区三区五区 | 精品中文字幕在线观看 | 在线看片a| 亚洲精品国产视频 | 中文字幕在线看 | 国产亚洲久久 | 日韩黄在线观看 | 国产麻豆视频在线观看 | 97超碰人人澡人人 | 久久伊人婷婷 | 国产精品成人一区二区三区吃奶 | 日韩一区二区三区高清在线观看 | 激情综合网五月 | 国产香蕉97碰碰碰视频在线观看 | 久久草网 | 欧美一级日韩三级 | 国产又粗又猛又黄又爽视频 | 精品亚洲视频在线 | 日本午夜在线亚洲.国产 | 欧美小视频在线 | 久亚洲精品 | av电影免费看 | 国产精品亚洲成人 | 日韩av不卡在线播放 | 久久久91精品国产一区二区三区 | 天天操天天操天天操天天操 | 六月丁香色婷婷 | 美女久久99 | 精品v亚洲v欧美v高清v | 操操操av| 欧美一级片在线免费观看 | 91精品在线看 | 九九精品视频在线观看 | 夜夜躁狠狠躁日日躁视频黑人 | 国产国产人免费人成免费视频 | 久久久久中文 | 国产精品免费久久久久久久久久中文 | 国产综合精品一区二区三区 | 玖玖在线视频观看 | 九九视频网 | 婷婷五综合 | 久久久久女人精品毛片 | 免费一级毛毛片 | 九九九在线观看视频 | 伊人久久精品久久亚洲一区 | 国产精品女人久久久久久 | 国产黄色免费 | 中文在线www | 亚洲四虎 | 亚洲国产精品影院 | aa一级片| 九九热在线观看视频 | www五月| 国产一卡在线 | 黄色小说在线免费观看 | 久久av免费电影 | 国产黄大片 | 久久视频网 | 欧美一区二区三区在线观看 | 在线免费av网站 | 绯色av一区 | 国产h片在线观看 | 中文字幕中文字幕在线中文字幕三区 | 日本中文字幕网址 | 91视视频在线直接观看在线看网页在线看 | 99国产一区二区三精品乱码 | 欧美一区二区三区不卡 | 国产专区视频在线观看 | 欧美激情片在线观看 | 久久久www成人免费毛片 | 日韩1级片 | 国产视频在线观看免费 | 国产精品一区二区三区视频免费 | 国产在线观看你懂得 | 久久综合九色综合久99 | 美女在线免费观看视频 | 99久久精品免费看国产麻豆 | 黄色三级av | 久久免费在线观看视频 | 国产一二三区av | 日本韩国中文字幕 | 天天操狠狠操夜夜操 | 免费看国产曰批40分钟 | 夜夜婷婷 | 久久久久久久久久久久亚洲 | 18女毛片 | 91精品资源 | 亚洲国产精品激情在线观看 | 久久综合加勒比 | av在线播放不卡 | 国产999精品久久久久久绿帽 | 色婷五月天 | 亚洲 综合 精品 | 丁香午夜婷婷 | 国产只有精品 | av福利超碰网站 | 国产第一页福利影院 | 91成人破解版 | 黄色毛片视频 | 91私密视频 | 亚洲欧美日韩精品久久久 | 国产69精品久久久久99尤 | 99久热在线精品视频成人一区 | 狠狠的操你| 99久久这里只有精品 | 欧美精品资源 | 在线黄色免费 | 亚洲欧美在线观看视频 | 亚洲成人av一区 | 91精品在线观看入口 | 天天干天天干天天干天天干天天干天天干 | 亚洲va在线va天堂va偷拍 | 麻豆国产电影 | av成人在线观看 | www.久久久久 | 国产系列在线观看 | 免费看v片 | 日韩三级视频在线观看 | 欧美一二区在线 | 久久免费观看少妇a级毛片 久久久久成人免费 | 手机成人av | 久久夜夜夜 | 亚洲网站在线看 | 欧美日在线 | av黄色一级片 | 亚洲区另类春色综合小说校园片 | 国产 色 | 97在线免费观看 | 欧美日韩免费观看一区二区三区 | 久久国产亚洲 | a特级毛片| 国产日韩精品一区二区三区 | 国产精品理论在线观看 | 日韩中文字幕视频在线 | 国产精品乱码久久久 | 人人爽人人爽av | 日韩欧美视频免费观看 | 91亚洲精品乱码久久久久久蜜桃 | 综合久久网 | 欧美成人精品欧美一级乱黄 | 国产精品一区二区三区四 | 中文字幕精品一区 | 天天射天天爱天天干 | 九九导航 | 91成人在线视频 | 亚洲韩国一区二区三区 | 91日韩在线视频 | 国产九九精品 | 99精品国产成人一区二区 | 色夜影院| 亚洲一区 av | 精品久久久久久电影 | wwxxx日本| 狠狠干夜夜爽 | 狠狠色狠狠色综合日日小说 | 中文区中文字幕免费看 | 五月天天av | 夜夜操网站 | 狠狠色丁香婷婷综合欧美 | 狠狠久久婷婷 | 国产精品二区在线观看 | 久久在线免费视频 | 天天干,天天射,天天操,天天摸 | 久久久福利视频 | 久久久久久久网站 | 在线观看免费av片 | 国内精品在线看 | 五月天婷婷免费视频 | 美女免费黄视频网站 | 国产成人av片 | 日韩国产精品久久久久久亚洲 | 欧美另类高潮 | 天天射综合| 亚洲天堂网在线视频观看 | 视频91 | 日日摸日日添日日躁av | 天天干天天拍天天操天天拍 | www.色五月.com | 日日操天天操夜夜操 | 婷婷久久五月天 | 日韩中文字幕视频在线 | 国产尤物一区二区三区 | 国产精品久久久久永久免费 | 国产精品久久久久久久7电影 | 日韩欧美成人网 | 国产探花视频在线播放 | 在线看小早川怜子av | 欧美a级成人淫片免费看 | 中文一区在线 | 毛片一级免费一级 | 久久久久久久免费 | 91久久久久久久一区二区 | 一二区电影| 中国一区二区视频 | 久久综合久久综合久久综合 | 成人在线免费视频观看 | 69绿帽绿奴3pvideos | 在线看片中文字幕 | 欧美精品一区在线发布 | 夜夜操天天 | 中文字幕乱偷在线 | 人人爽人人爽人人片av | 国产伦精品一区二区三区免费 | 亚洲国产中文字幕在线 | www.五月天激情 | 麻豆一级视频 | 欧美极品裸体 | 国产视频精品免费播放 | 天天干天天插伊人网 | 久久精品国产亚洲a | 成年人在线免费看视频 | 国产精品96久久久久久吹潮 | 久久精品国产精品亚洲 | 视频高清 | 亚洲精品视频在线观看免费 | www.狠狠色 | 91人人澡人人爽 | aⅴ精品av导航| 韩国一区视频 | 日韩欧美视频一区二区 | 探花国产在线 | 日韩在线观看视频中文字幕 | 久久99热精品这里久久精品 | 日韩在线观看电影 | 国产精品嫩草55av | 久久亚洲欧美 | av黄色在线| www日韩高清 | 亚洲理论片 | 欧美 日韩精品 | 欧美亚洲精品一区 | 久久久久欠精品国产毛片国产毛生 | 国产高清不卡一区二区三区 | 97在线观看视频免费 | 日韩69视频 | 女人18精品一区二区三区 | 国产在线播放一区二区三区 | 国产午夜精品一区二区三区 | 色狠狠综合 | 五月婷婷爱 | 手机看片 | 国产精品婷婷午夜在线观看 | 西西大胆免费视频 | 91精品国产99久久久久久久 | 91精品一区在线观看 | 国产精品黑丝在线观看 | 精品久久久久久久久久久久久 | av丁香花 | 亚洲精品理论 | 亚洲一二三在线 | 黄色毛片视频免费观看中文 | 亚洲成人网av | 日韩免费av片| 怡春院av | 日本在线观看一区 | 久久国产精品一区二区三区四区 | 国产亚洲精品bv在线观看 | 三级黄色免费片 | 国产一区在线视频播放 | 激情综合网天天干 | 精品国产伦一区二区三区观看体验 | www.久久视频| 91中文字幕在线观看 | 国产专区在线视频 | 成年人在线观看 | 久久精品看 | 日韩一区二区三区观看 | 99久国产| 有码一区二区三区 | 日韩av在线一区二区 | 日本精品一区二区三区在线观看 | 亚洲激情六月 | 日韩精品一区二区三区免费观看视频 | 超碰人人av | www.亚洲精品 | 欧美成人影音 | av免费在线观看网站 | 97日日碰人人模人人澡分享吧 | 日韩久久精品一区二区 | 国产在线第三页 | 伊人热| 亚洲视频高清 | 日韩一三区 | 综合铜03 | 色婷婷影视 | 久草国产精品 | 国产免费视频一区二区裸体 | 黄色片毛片| www.黄色片.com | 激情综合久久 | 一区二区视 | 日本中文字幕系列 | 色五月色开心色婷婷色丁香 | 久精品视频免费观看2 | 精品国产一区二区三区av性色 | 久久久国产视频 | 久久精品亚洲国产 | 亚洲免费观看在线视频 | 亚洲精品成人av在线 | 久久这里| 91精品国自产拍天天拍 | 精品理论片| 麻豆免费视频网站 | www视频免费在线观看 | 亚洲专区欧美 | 中文字幕a在线 | 国产福利av在线 | 中文字幕中文字幕在线中文字幕三区 | 西西444www| 国产第一二区 | 国内久久久久 | 久草com | 99在线视频精品 | 九九热只有这里有精品 | 狠狠狠色 | 久草免费色站 | 国内精品久久久久久久 | 久久电影中文字幕视频 | 亚洲成人精品久久久 | 99中文字幕视频 | 美女久久久 | 波多野结衣电影一区二区 | 国产精品久久久久久一区二区 | 婷婷99| 国产亚洲精品电影 | 91网在线观看 | 久草在线网址 | 国产精品高清一区二区三区 | 欧美在线观看视频一区二区三区 | 激情网在线视频 | 欧美色噜噜噜 | 国产黄色a | 日本黄色大片儿 | 三级性生活视频 | 国产福利一区二区在线 | 美女视频又黄又免费 | 中文字幕中文字幕在线中文字幕三区 | 欧美夫妻生活视频 | 一区二区国产精品 | 亚洲天堂精品视频 | 欧美另类网站 | 成人午夜电影在线 | 天海翼一区二区三区免费 | 久久精品99国产精品酒店日本 |