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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

服务器客户端编程

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

?server

下面通過最簡單的客戶端/服務器程序的實例來學習socket API。

server.c的作用是從客戶端讀字符,然后將每個字符轉換為大寫并回送給客戶端。

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h>#define MAXLINE 80 #define SERV_PORT 6666int main(void) {struct sockaddr_in servaddr, cliaddr;socklen_t cliaddr_len;int listenfd, connfd;char buf[MAXLINE];char str[INET_ADDRSTRLEN];int i, n;listenfd = socket(AF_INET, SOCK_STREAM, 0);bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(SERV_PORT);bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr));listen(listenfd, 20);printf("Accepting connections ...\n");while (1) {cliaddr_len = sizeof(cliaddr);connfd = accept(listenfd, (struct sockaddr *)&cliaddr, &cliaddr_len);n = read(connfd, buf, MAXLINE);printf("received from %s at PORT %d\n",inet_ntop(AF_INET, &cliaddr.sin_addr, str, sizeof(str)),ntohs(cliaddr.sin_port));for (i = 0; i < n; i++)buf[i] = toupper(buf[i]);write(connfd, buf, n);close(connfd);}return 0; }

client

client.c的作用是從命令行參數中獲得一個字符串發給服務器,然后接收服務器返回的字符串并打印。

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h>#define MAXLINE 80 #define SERV_PORT 6666int main(int argc, char *argv[]) {struct sockaddr_in servaddr;char buf[MAXLINE];int sockfd, n; char *str;if (argc != 2) {fputs("usage: ./client message\n", stderr);exit(1);} str = argv[1];sockfd = socket(AF_INET, SOCK_STREAM, 0);bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;inet_pton(AF_INET, "127.0.0.1", &servaddr.sin_addr);servaddr.sin_port = htons(SERV_PORT);connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));write(sockfd, str, strlen(str));n = read(sockfd, buf, MAXLINE);printf("Response from server:\n");write(STDOUT_FILENO, buf, n);close(sockfd);return 0; }

由于客戶端不需要固定的端口號,因此不必調用bind(),客戶端的端口號由內核自動分配。注意,客戶端不是不允許調用bind(),只是沒有必要調用bind()固定一個端口號,服務器也不是必須調用bind(),但如果服務器不調用bind(),內核會自動給服務器分配監聽端口,每次啟動服務器時端口號都不一樣,客戶端要連接服務器就會遇到麻煩。

客戶端和服務器啟動后可以使用netstat命令查看鏈接情況:

netstat -apn|grep 6666

?

網絡字節序

我們已經知道,內存中的多字節數據相對于內存地址有大端和小端之分,磁盤文件中的多字節數據相對于文件中的偏移地址也有大端小端之分。網絡數據流同樣有大端小端之分,那么如何定義網絡數據流的地址呢?發送主機通常將發送緩沖區中的數據按內存地址從低到高的順序發出,接收主機把從網絡上接到的字節依次保存在接收緩沖區中,也是按內存地址從低到高的順序保存,因此,網絡數據流的地址應這樣規定:先發出的數據是低地址,后發出的數據是高地址。

TCP/IP協議規定,網絡數據流應采用大端字節序,即低地址高字節。例如上一節的UDP段格式,地址0-1是16位的源端口號,如果這個端口號是1000(0x3e8),則地址0是0x03,地址1是0xe8,也就是先發0x03,再發0xe8,這16位在發送主機的緩沖區中也應該是低地址存0x03,高地址存0xe8。但是,如果發送主機是小端字節序的,這16位被解釋成0xe803,而不是1000。因此,發送主機把1000填到發送緩沖區之前需要做字節序的轉換。同樣地,接收主機如果是小端字節序的,接到16位的源端口號也要做字節序的轉換。如果主機是大端字節序的,發送和接收都不需要做轉換。同理,32位的IP地址也要考慮網絡字節序和主機字節序的問題。

為使網絡程序具有可移植性,使同樣的C代碼在大端和小端計算機上編譯后都能正常運行,可以調用以下庫函數做網絡字節序和主機字節序的轉換

#include <arpa/inet.h>uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort);

h表示host,n表示network,l表示32位長整數,s表示16位短整數。

如果主機是小端字節序,這些函數將參數做相應的大小端轉換然后返回,如果主機是大端字節序,這些函數不做轉換,將參數原封不動地返回。

IP地址轉換函數

早期:

#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); in_addr_t inet_addr(const char *cp); char *inet_ntoa(struct in_addr in);

只能處理IPv4的ip地址

不可重入函數

注意參數是struct in_addr

現在:

#include <arpa/inet.h>int inet_pton(int af, const char *src, void *dst);const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);

支持IPv4和IPv6

可重入函數

其中inet_pton和inet_ntop不僅可以轉換IPv4的in_addr,還可以轉換IPv6的in6_addr。

因此函數接口是void *addrptr。

sockaddr數據結構

strcut sockaddr 很多網絡編程函數誕生早于IPv4協議,那時候都使用的是sockaddr結構體,為了向前兼容,現在sockaddr退化成了(void *)的作用,傳遞一個地址給函數,至于這個函數是sockaddr_in還是sockaddr_in6,由地址族確定,然后函數內部再強制類型轉化為所需的地址類型。

?

?

struct sockaddr {sa_family_t sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */ };

使用 sudo grep -r "struct sockaddr_in {" ?/usr 命令可查看到struct sockaddr_in結構體的定義。一般其默認的存儲位置:/usr/include/linux/in.h 文件中。

struct sockaddr_in {__kernel_sa_family_t sin_family; /* Address family */ 地址結構類型__be16 sin_port; /* Port number */ 端口號struct in_addr sin_addr; /* Internet address */ IP地址/* Pad to size of `struct sockaddr'. */unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -sizeof(unsigned short int) - sizeof(struct in_addr)]; };struct in_addr { /* Internet address. */__be32 s_addr; };struct sockaddr_in6 {unsigned short int sin6_family; /* AF_INET6 */__be16 sin6_port; /* Transport layer port # */__be32 sin6_flowinfo; /* IPv6 flow information */struct in6_addr sin6_addr; /* IPv6 address */__u32 sin6_scope_id; /* scope id (new in RFC2553) */ }; struct in6_addr {union {__u8 u6_addr8[16];__be16 u6_addr16[8];__be32 u6_addr32[4];} in6_u;#define s6_addr in6_u.u6_addr8#define s6_addr16 in6_u.u6_addr16#define s6_addr32 in6_u.u6_addr32 };#define UNIX_PATH_MAX 108struct sockaddr_un {__kernel_sa_family_t sun_family; /* AF_UNIX */char sun_path[UNIX_PATH_MAX]; /* pathname */ };

Pv4IPv6的地址格式定義在netinet/in.h中,IPv4地址用sockaddr_in結構體表示,包括16位端口號和32IP地址,IPv6地址用sockaddr_in6結構體表示,包括16位端口號、128IP地址和一些控制字段。UNIX Domain Socket的地址格式定義在sys/un.h中,用sock-addr_un結構體表示。各種socket地址結構體的開頭都是相同的,前16位表示整個結構體的長度(并不是所有UNIX的實現都有長度字段,如Linux就沒有),后16位表示地址類型。IPv4IPv6Unix Domain Socket的地址類型分別定義為常數AF_INETAF_INET6AF_UNIX。這樣,只要取得某種sockaddr結構體的首地址,不需要知道具體是哪種類型的sockaddr結構體,就可以根據地址類型字段確定結構體中的內容。因此,socket API可以接受各種類型的sockaddr結構體指針做參數,例如bindacceptconnect等函數,這些函數的參數應該設計成void *類型以便接受各種類型的指針,但是sock API的實現早于ANSI C標準化,那時還沒有void *類型,因此這些函數的參數都用struct sockaddr *類型表示,在傳遞參數之前要強制類型轉換一下,例如:

struct sockaddr_in servaddr; bind(listen_fd, (struct sockaddr *)&servaddr, sizeof(servaddr)); /* initialize servaddr */

網絡套接字函數

?

socket模型創建流程圖

#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol); domain:AF_INET 這是大多數用來產生socket的協議,使用TCP或UDP來傳輸,用IPv4的地址AF_INET6 與上面類似,不過是來用IPv6的地址AF_UNIX 本地協議,使用在Unix和Linux系統上,一般都是當客戶端和服務器在同一臺及其上的時候使用 type:SOCK_STREAM 這個協議是按照順序的、可靠的、數據完整的基于字節流的連接。這是一個使用最多的socket類型,這個socket是使用TCP來進行傳輸。SOCK_DGRAM 這個協議是無連接的、固定長度的傳輸調用。該協議是不可靠的,使用UDP來進行它的連接。SOCK_SEQPACKET該協議是雙線路的、可靠的連接,發送固定長度的數據包進行傳輸。必須把這個包完整的接受才能進行讀取。SOCK_RAW socket類型提供單一的網絡訪問,這個socket類型使用ICMP公共協議。(ping、traceroute使用該協議)SOCK_RDM 這個類型是很少使用的,在大部分的操作系統上沒有實現,它是提供給數據鏈路層使用,不保證數據包的順序 protocol:傳0 表示使用默認協議。 返回值:成功:返回指向新創建的socket的文件描述符,失敗:返回-1,設置errno

socket()打開一個網絡通訊端口,如果成功的話,就像open()一樣返回一個文件描述符,應用程序可以像讀寫文件一樣用read/write在網絡上收發數據,如果socket()調用出錯則返回-1。對于IPv4,domain參數指定為AF_INET。對于TCP協議,type參數指定為SOCK_STREAM,表示面向流的傳輸協議。如果是UDP協議,則type參數指定為SOCK_DGRAM,表示面向數據報的傳輸協議。protocol參數的介紹從略,指定為0即可。

bind函數

#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); sockfd:socket文件描述符 addr:構造出IP地址加端口號 addrlen:sizeof(addr)長度 返回值:成功返回0,失敗返回-1, 設置errno

? ? ? ?服務器程序所監聽的網絡地址和端口號通常是固定不變的,客戶端程序得知服務器程序的地址和端口號后就可以向服務器發起連接,因此服務器需要調用bind綁定一個固定的網絡地址和端口號。

bind()的作用是將參數sockfd和addr綁定在一起,使sockfd這個用于網絡通訊的文件描述符監聽addr所描述的地址和端口號。前面講過,struct sockaddr *是一個通用指針類型,addr參數實際上可以接受多種協議的sockaddr結構體,而它們的長度各不相同,所以需要第三個參數addrlen指定結構體的長度。如:

struct sockaddr_in servaddr; bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(6666);

首先將整個結構體清零,然后設置地址類型為AF_INET,網絡地址為INADDR_ANY,這個宏表示本地的任意IP地址,因為服務器可能有多個網卡,每個網卡也可能綁定多個IP地址,這樣設置可以在所有的IP地址上監聽,直到與某個客戶端建立了連接時才確定下來到底用哪個IP地址,端口號為6666。

listen函數

#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int listen(int sockfd, int backlog); sockfd:socket文件描述符 backlog:排隊建立3次握手隊列和剛剛建立3次握手隊列的鏈接數和

查看系統默認backlog

cat /proc/sys/net/ipv4/tcp_max_syn_backlog

典型的服務器程序可以同時服務于多個客戶端,當有客戶端發起連接時,服務器調用的accept()返回并接受這個連接,如果有大量的客戶端發起連接而服務器來不及處理,尚未accept的客戶端就處于連接等待狀態,listen()聲明sockfd處于監聽狀態,并且最多允許有backlog個客戶端處于連接待狀態,如果接收到更多的連接請求就忽略。listen()成功返回0,失敗返回-1。

accept函數

#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); sockdf:socket文件描述符 addr:傳出參數,返回鏈接客戶端地址信息,含IP地址和端口號 addrlen:傳入傳出參數(值-結果),傳入sizeof(addr)大小,函數返回時返回真正接收到地址結構體的大小 返回值:成功返回一個新的socket文件描述符,用于和客戶端通信,失敗返回-1,設置errno

三方握手完成后,服務器調用accept()接受連接,如果服務器調用accept()時還沒有客戶端的連接請求,就阻塞等待直到有客戶端連接上來。addr是一個傳出參數,accept()返回時傳出客戶端的地址和端口號。addrlen參數是一個傳入傳出參數(value-result argument),傳入的是調用者提供的緩沖區addr的長度以避免緩沖區溢出問題,傳出的是客戶端地址結構體的實際長度(有可能沒有占滿調用者提供的緩沖區)。如果給addr參數傳NULL,表示不關心客戶端的地址。

我們的服務器程序結構是這樣的:

while (1) {cliaddr_len = sizeof(cliaddr);connfd = accept(listenfd, (struct sockaddr *)&cliaddr, &cliaddr_len);n = read(connfd, buf, MAXLINE);......close(connfd); }

  整個是一個while死循環,每次循環處理一個客戶端連接。由于cliaddr_len是傳入傳出參數,每次調用accept()之前應該重新賦初值。accept()的參數listenfd是先前的監聽文件描述符,而accept()的返回值是另外一個文件描述符connfd,之后與客戶端之間就通過這個connfd通訊,最后關閉connfd斷開連接,而不關閉listenfd,再次回到循環開頭listenfd仍然用作accept的參數。accept()成功返回一個文件描述符,出錯返回-1。

connect函數

#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); sockdf:socket文件描述符 addr:傳入參數,指定服務器端地址信息,含IP地址和端口號 addrlen:傳入參數,傳入sizeof(addr)大小 返回值:成功返回0,失敗返回-1,設置errno

客戶端需要調用connect()連接服務器,connect和bind的參數形式一致,區別在于bind的參數是自己的地址,而connect的參數是對方的地址。connect()成功返回0,出錯返回-1。

C/S模型-TCP

下圖是基于TCP協議的客戶端/服務器程序的一般流程:

服務器調用socket()、bind()、listen()完成初始化后,調用accept()阻塞等待,處于監聽端口的狀態,客戶端調用socket()初始化后,調用connect()發出SYN段并阻塞等待服務器應答,服務器應答一個SYN-ACK段,客戶端收到后從connect()返回,同時應答一個ACK段,服務器收到后從accept()返回。

數據傳輸的過程:

建立連接后,TCP協議提供全雙工的通信服務,但是一般的客戶端/服務器程序的流程是由客戶端主動發起請求,服務器被動處理請求,一問一答的方式。因此,服務器從accept()返回后立刻調用read(),讀socket就像讀管道一樣,如果沒有數據到達就阻塞等待,這時客戶端調用write()發送請求給服務器,服務器收到后從read()返回,對客戶端的請求進行處理,在此期間客戶端調用read()阻塞等待服務器的應答,服務器調用write()將處理結果發回給客戶端,再次調用read()阻塞等待下一條請求,客戶端收到后從read()返回,發送下一條請求,如此循環下去。

如果客戶端沒有更多的請求了,就調用close()關閉連接,就像寫端關閉的管道一樣,服務器的read()返回0,這樣服務器就知道客戶端關閉了連接,也調用close()關閉連接。注意,任何一方調用close()后,連接的兩個傳輸方向都關閉,不能再發送數據了。如果一方調用shutdown()則連接處于半關閉狀態,仍可接收對方發來的數據。

在學習socket API時要注意應用程序和TCP協議層是如何交互的: 應用程序調用某個socket函數時TCP協議層完成什么動作,比如調用connect()會發出SYN段 應用程序如何知道TCP協議層的狀態變化,比如從某個阻塞的socket函數返回就表明TCP協議收到了某些段,再比如read()返回0就表明收到了FIN段

?

?

?

轉載于:https://www.cnblogs.com/wanghao-boke/p/11400225.html

總結

以上是生活随笔為你收集整理的服务器客户端编程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

婷婷色吧| 久久久性 | 国产尤物在线 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 精品久久久久久亚洲综合网站 | 中文字幕av全部资源www中文字幕在线观看 | 日韩激情一二三区 | 亚洲精品国产片 | 欧美视频不卡 | 国产看片免费 | 午夜色婷婷 | 国产精品久久久久久久久免费 | 久久福利综合 | 中文字幕一区二区三区在线视频 | 日b视频在线观看网址 | 日日操日日插 | 国产日韩欧美视频在线观看 | 国产成人精品亚洲精品 | 日韩精品一区二区免费 | 久久人人爽人人人人片 | 国产一区二区在线精品 | 成人av亚洲 | 免费在线观看黄 | 国产va饥渴难耐女保洁员在线观看 | 免费看一级黄色 | a色视频 | 国产中文在线播放 | 久热香蕉视频 | 51精品国自产在线 | 婷婷视频在线播放 | 国产网站av | 91在线看网站 | 久久97久久| 成全在线视频免费观看 | 观看免费av | 亚洲va欧美va人人爽春色影视 | 视频在线精品 | h网站免费在线观看 | 在线观看免费成人 | 色偷偷人人澡久久超碰69 | 欧美性爽爽 | 99视频精品在线 | 天天插夜夜操 | 日韩精品一区在线播放 | 中文字幕成人网 | 国产精品v欧美精品 | 国产一级视频在线 | 精品久久久免费视频 | 在线精品视频免费观看 | 国产精品手机在线观看 | 久草国产精品 | 亚洲日本三级 | 91精彩视频 | 欧美污在线观看 | 日韩欧美综合精品 | 久久天天躁狠狠躁夜夜不卡公司 | 亚洲在线视频网站 | 久久99国产一区二区三区 | 国产 一区二区三区 在线 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲综合欧美精品电影 | 国产黄色片网站 | 91粉色视频| 成人av影视观看 | av电影免费在线看 | 国产黑丝一区二区 | 成人性生交大片免费看中文网站 | 日本公妇在线观看 | 日韩欧美亚州 | 少妇bbbb揉bbbb日本 | 亚洲成人资源在线观看 | 天堂av在线中文在线 | 美女黄久久 | 丁香六月国产 | 黄色av一区二区三区 | 日韩高清在线一区二区三区 | 久久不卡国产精品一区二区 | 精品视频在线看 | 国产成人精品免高潮在线观看 | 国产区在线看 | 在线观看不卡的av | 999久久久久久久久 69av视频在线观看 | 亚洲精品中文字幕视频 | 成人 国产 在线 | 日韩在线播放视频 | 99re6热在线精品视频 | 欧美激情精品久久久久久免费 | 91福利视频在线 | 在线精品观看国产 | 色综合久久久久久久 | 精品国产一区二区三区不卡 | 中文字幕一区二区三区视频 | 日韩精品视频在线观看免费 | 中文字幕人成不卡一区 | 在线观看黄网站 | 亚欧洲精品视频在线观看 | www.黄色在线 | 麻豆视频免费入口 | 9999国产| 91精品视频网站 | 色狠狠一区二区 | 国产91精品看黄网站 | 亚洲色影爱久久精品 | 天天干天天干天天干天天干天天干天天干 | www.国产毛片 | 91精品久久久久久久99蜜桃 | 日本黄色大片免费看 | 精品国模一区二区三区 | 五月天综合网 | 91片黄在线观 | 亚洲电影黄色 | 久久99精品视频 | 成人免费xyz网站 | 日韩高清免费电影 | 91精品国产92久久久久 | 国产91免费看 | 午夜黄网 | 天天翘av| 欧美 国产 视频 | 97碰在线视频 | 麻豆成人精品视频 | 91av在线看 | 久久dvd | 丁香婷婷激情五月 | 日本一区二区三区视频在线播放 | 久久免费美女视频 | 午夜久久美女 | 麻豆手机在线 | 99视频+国产日韩欧美 | 一区国产精品 | 日日色综合 | 一级黄色在线免费观看 | 奇米影视777影音先锋 | 欧美地下肉体性派对 | 国产福利午夜 | 国产精品一区二区三区观看 | 亚洲情影院 | 一区二区在线不卡 | 久久久视屏 | 久久久精品影视 | 中日韩在线视频 | 大型av综合网站 | 97成人在线 | 国产成人精品av在线 | 在线综合 亚洲 欧美在线视频 | 亚洲国产精品日韩 | 欧美日韩视频观看 | 久久成年人视频 | 久久久精品免费观看 | 在线高清av| 人人盈棋牌| 国产精品久久综合 | 国产中文字幕三区 | 成人av一区二区兰花在线播放 | 亚洲理论在线 | 久久久精品一区二区三区 | 久久午夜色播影院免费高清 | 欧美一级视频在线观看 | 精品久久免费 | 成人av免费网站 | 久久精品视频日本 | 最新av中文字幕 | 久草在线最新视频 | 超碰在线人人97 | 免费看色的网站 | 日韩影视在线观看 | 99视频免费播放 | 日日夜夜精品视频天天综合网 | av高清免费 | 亚洲一级理论片 | 久草在线最新免费 | 久久y | 精品在线视频一区 | 国产精品日韩欧美 | 夜夜狠狠| 中文字幕观看在线 | 欧美成人精品欧美一级乱黄 | 最近免费中文视频 | av福利在线看 | 视色网站| 欧美福利在线播放 | 欧美精品被 | 97在线影院 | 日日夜夜精品免费 | 一本色道久久综合亚洲二区三区 | 国产黄色av | 日本公妇在线观看 | 亚洲国产午夜 | 久久一区国产 | 日韩国产高清在线 | 狠狠色香婷婷久久亚洲精品 | 999亚洲国产996395 | 天天做天天爱天天爽综合网 | 狠狠色丁香久久婷婷综 | jizz18欧美18 | 97色资源 | www.在线观看av | 99产精品成人啪免费网站 | 国产精品毛片久久 | 96国产精品视频 | 一区二区中文字幕在线播放 | 亚洲综合成人av | 日韩欧美在线观看 | 国产成人av一区二区三区在线观看 | 中文字幕之中文字幕 | 超碰av免费 | 久久8| 免费能看的黄色片 | 日日夜夜操操操操 | 久久久网址| 成人一级免费视频 | 日韩欧美精品在线视频 | 六月丁香激情网 | 欧美在线视频一区二区三区 | 2020天天干天天操 | 久久精品一二三 | 九九九免费视频 | 日本一区二区三区免费看 | 一区二区免费不卡在线 | 亚洲综合在线观看视频 | 在线观看黄av | 欧美日韩视频在线观看免费 | 亚洲精品白浆高清久久久久久 | 国产成人精品综合久久久 | 欧美国产三区 | 久久精品福利视频 | 国产 日韩 欧美 在线 | 日韩av在线免费播放 | 成人一区二区在线观看 | 国产视频在线免费 | 99热播精品 | 天天干天天干天天干天天干天天干天天干 | 亚洲 欧美日韩 国产 中文 | 91九色porn在线资源 | 久久综合婷婷综合 | 久草在线综合网 | 精品一区二区三区在线播放 | 热99在线视频| 成人97人人超碰人人99 | 久久你懂得 | 精品人人人人 | 婷婷福利影院 | 在线a亚洲视频播放在线观看 | 99人成在线观看视频 | 久久成人高清视频 | 国产精品麻豆视频 | www最近高清中文国语在线观看 | 在线91视频 | 中文国产字幕 | 天堂视频中文在线 | 国产精品国产三级国产不产一地 | 国产在线视频资源 | 一本色道久久综合亚洲二区三区 | 欧美久久久久久 | 日韩精品中文字幕久久臀 | 丁香综合五月 | 色香蕉在线视频 | 江苏妇搡bbbb搡bbbb | 久久伊人爱 | 月下香电影 | 国产精品九九九九九九 | 99久久精品国产网站 | 久久久久成人精品亚洲国产 | 国产精品1区2区 | 成人h电影在线观看 | 久草男人天堂 | 96久久 | 国产中文字幕一区 | 免费看国产黄色 | 激情综合五月 | 怡红院成人在线 | 亚洲国产精品激情在线观看 | 国产精品不卡一区 | 国产精品麻豆一区二区三区 | 久久久久影视 | 高清久久久 | 91三级视频 | 亚洲午夜久久久久久久久 | 深夜免费小视频 | 中文字幕视频一区 | av导航福利 | 一级理论片在线观看 | 国产精品久一 | 国内精品久久久久国产 | 欧美日韩国产在线一区 | 日本久久电影 | 亚洲黄色在线免费观看 | 色资源中文字幕 | 久久久久久国产精品美女 | 欧洲精品一区二区 | 亚洲日本三级 | 国产日本高清 | 亚洲国内精品在线 | 欧美一级免费高清 | 日韩在线视频线视频免费网站 | 精品国产乱码久久久久久浪潮 | 91精品久久久久久综合五月天 | 久久网站最新地址 | 亚洲成人软件 | 在线观看亚洲电影 | 蜜臀av网站 | 国产高清久久 | 亚洲女人天堂成人av在线 | 中文字幕日韩精品有码视频 | 欧美日韩中文字幕在线视频 | 亚洲无吗av| 国产黄色大片 | 婷婷在线不卡 | av软件在线观看 | 911国产 | 国产不卡网站 | 岛国一区在线 | 福利一区二区在线 | 夜夜视频资源 | av黄免费看 | 日韩欧美精品在线观看 | 五月婷婷综合激情 | 久草在线国产 | 91av小视频 | 久久精品视频2 | 高清一区二区三区av | 精品国产乱子伦一区二区 | 精品久久久久久国产偷窥 | 日韩1页 | 欧美精品一区二区蜜臀亚洲 | 成人av一区二区三区 | 超级av在线 | 精品91| 狠狠久久综合 | 国产 日韩 欧美 在线 | 成人一区在线观看 | 日韩免费电影一区二区 | 成年人在线视频观看 | 成人黄色大片在线免费观看 | 日本黄色免费在线 | 亚洲有 在线 | 88av色 | 免费午夜视频在线观看 | www.888.av| 欧美性天天 | 日韩免费一级a毛片在线播放一级 | 欧美日韩啪啪 | 欧美激情奇米色 | 中文字幕丝袜一区二区 | 麻豆av一区二区三区在线观看 | 在线视频久久 | 91在线观 | 欧美成人亚洲成人 | 天天插天天射 | 免费观看www视频 | 蜜臀av在线一区二区三区 | 国产做爰视频 | 精品国产自 | 午夜黄色影院 | 国产中文字幕国产 | 日韩在线观看三区 | 午夜精品视频福利 | 日日射天天射 | 久草免费福利在线观看 | 亚洲国产精品女人久久久 | 91高清视频免费 | 五月天激情综合 | 欧美在线视频免费 | 夜添久久精品亚洲国产精品 | 91麻豆国产 | 欧美日韩电影在线播放 | 综合网在线视频 | 色噜噜日韩精品一区二区三区视频 | 亚洲精品久久久蜜臀下载官网 | a在线v| 成年人视频在线免费 | 在线免费观看欧美日韩 | 亚洲成年片 | 91精品国产福利在线观看 | 91精品国产网站 | 一区二区影视 | 精品久久久久久久久久久久久久久久 | 91在线视频精品 | 狠狠色噜噜狠狠狠狠2021天天 | 人人射 | wwwww.国产| 国产黄色成人av | 中文字幕之中文字幕 | 中文字幕第 | 日韩av不卡在线观看 | 91在线视频 | 国产特级毛片aaaaaa高清 | 最近中文字幕高清字幕免费mv | 日韩精品一区在线观看 | 夜色资源站国产www在线视频 | 999成人免费视频 | 夜夜嗨av色一区二区不卡 | 国产精品va最新国产精品视频 | 国产丝袜一区二区三区 | 2021国产视频| 国产精品资源网 | 97超碰人人网 | 国产二区视频在线 | 日韩videos | 中文字幕av在线不卡 | 欧美色噜噜噜 | 国产小视频福利在线 | 丁香六月婷婷开心 | 国产成人精品一区在线 | 亚洲1区 在线 | 成人小视频在线免费观看 | 国产又黄又猛又粗 | 亚洲视频 一区 | 亚洲电影久久久 | 日韩草比| 亚洲黄色成人av | 亚洲国产成人高清精品 | 人人玩人人添人人澡97 | 狠狠色噜噜狠狠狠狠 | 欧美日韩精品影院 | 日本高清免费中文字幕 | 婷婷激情5月天 | 欧美日韩在线观看一区二区三区 | 日日爽天天操 | 久草在线费播放视频 | 99综合电影在线视频 | 久久精品国产99 | a久久免费视频 | 午夜精品麻豆 | 国产精品女人久久久久久 | 国产精品一区二区在线观看 | 欧美天天综合网 | 四虎8848免费高清在线观看 | 国产精品毛片一区二区在线看 | 人人澡人人添人人爽一区二区 | 五月天激情综合网 | 很黄很色很污的网站 | 五月在线视频 | 精品久久久久久综合 | 狠狠干在线 | 亚洲日本va午夜在线影院 | 毛片一级免费一级 | 欧美一级xxxx | 玖玖视频国产 | 91视频中文字幕 | 在线免费观看视频你懂的 | 蜜臀久久99精品久久久无需会员 | 草久在线 | 精品日韩视频 | 国内精品小视频 | 国产精品国产三级国产aⅴ9色 | 日韩精品久久久久久中文字幕8 | 黄在线 | 2000xxx影视 | 青青草在久久免费久久免费 | 日女人电影 | 黄色软件在线观看视频 | 久久国产精品99久久人人澡 | 日日干av | 天堂成人在线 | 亚洲视频在线免费看 | 中文字幕在线观看三区 | 欧美日韩一区二区三区在线观看视频 | 日韩高清国产精品 | 少妇自拍av | 欧美一二区在线 | 天天做日日做天天爽视频免费 | 国产尤物在线观看 | 天天要夜夜操 | 国产精品短视频 | 亚洲一区动漫 | 国产一区二区高清 | 婷婷六月丁香激情 | 国产一在线精品一区在线观看 | 国产精品久久久久999 | 丁香色综合| 午夜精品一区二区三区免费视频 | 91成人免费观看视频 | 91精品视频观看 | 欧美日韩中文字幕综合视频 | 久久精品一二三 | 久久久久国产精品厨房 | 国产精品美乳一区二区免费 | 啪啪免费视频网站 | 中文字幕日本在线观看 | 免费观看www7722午夜电影 | 九九热在线免费观看 | 日韩二区三区在线观看 | 91亚洲精品久久久蜜桃网站 | 97在线看片 | 久久综合九色综合欧美就去吻 | 伊人久久精品久久亚洲一区 | 欧美午夜精品久久久久久浪潮 | 激情欧美xxxx | 69久久夜色精品国产69 | 中文超碰字幕 | 97在线免费观看 | 久草com| 日韩免费视频播放 | 国产99久久久精品视频 | 日韩国产精品久久久久久亚洲 | 欧产日产国产69 | 色婷av| 五月天婷婷在线观看视频 | 国产精品久久久久av | 一区二区三区三区在线 | 免费h视频 | 超级碰99| 亚洲精品黄网站 | 国产黄网站在线观看 | 97超碰总站 | 黄色亚洲精品 | 一区二区三区电影大全 | 粉嫩av一区二区三区入口 | 欧美极品在线播放 | 91九色在线观看视频 | av中文字幕亚洲 | 欧美一区二视频在线免费观看 | 久久精品这里热有精品 | 久久精品免费电影 | 国产伦精品一区二区三区… | 麻花豆传媒mv在线观看 | 久久精品直播 | 不卡的av在线 | 亚洲综合色丁香婷婷六月图片 | 中文字幕亚洲字幕 | 天天舔天天搞 | 国产在线观看中文字幕 | 三级免费黄 | 综合久色 | 99精品视频免费看 | 五月婷婷综 | 亚洲成人精品在线观看 | 中文字幕久久精品一区 | 婷婷综合成人 | 天天在线操 | 久久人人做 | 精品福利在线视频 | 国产精品成人一区二区三区吃奶 | 深爱婷婷激情 | 在线观看网站黄 | 99久免费精品视频在线观看 | 国产在线超碰 | 亚洲乱码中文字幕综合 | 亚在线播放中文视频 | 日韩在线观看中文 | 一本一道久久a久久综合蜜桃 | 久久精品79国产精品 | 国产精品美女999 | 99精品免费久久久久久久久 | av亚洲产国偷v产偷v自拍小说 | 中文字幕亚洲精品在线观看 | 国产香蕉视频在线观看 | www成人av| 免费av 在线 | 亚洲毛片一区二区三区 | 在线亚洲高清视频 | 超碰在线亚洲 | 天天躁日日 | 免费在线黄 | 黄色国产区 | 国产一区二区高清不卡 | 97超级碰| 天天操夜夜逼 | 国产美女精品人人做人人爽 | 日日狠狠 | 男女日麻批 | 欧美极品在线播放 | 亚洲视频一 | 欧美亚洲一级片 | 欧美一级片在线免费观看 | 久久婷婷五月综合色丁香 | 一区二区视频在线看 | 欧美激情视频久久 | 国产亚洲人 | 色88久久| 午夜av免费在线观看 | 亚洲精品中文字幕视频 | 香蕉久久久久久av成人 | 四虎影视8848dvd | 亚洲天堂网在线视频观看 | 久久爱导航| 久久老司机精品视频 | 欧洲一区二区三区精品 | av福利免费 | 亚洲国产高清在线观看视频 | 欧美福利在线播放 | 超碰97人人在线 | 国产在线观看免费 | 免费99精品国产自在在线 | 国产资源 | 热久久99这里有精品 | 91精品视频一区二区三区 | 夜色在线资源 | 国产在线资源 | 成人免费看黄 | 欧美巨乳波霸 | 亚洲人成人在线 | 国产精品video爽爽爽爽 | 亚洲人人射 | 日韩久久一区二区 | 亚洲精品久久久久www | 在线日韩 | 天天在线免费视频 | 国产精品a级 | 97国产小视频 | 国产精品久久久久久久久久99 | 免费看的黄色网 | 中文字幕在线观看国产 | 午夜视频在线观看一区二区 | 欧美日韩精品在线播放 | 一区二区伦理 | 国产一级免费电影 | 久久综合免费视频影院 | 97色在线观看免费视频 | 国产精品美女久久久久久久 | 色婷婷色 | 美女网站在线观看 | 色资源网在线观看 | 久久99精品久久久久久 | 久久国内视频 | 美女免费视频网站 | av播放在线| 日韩欧美在线免费观看 | 久久久久久久毛片 | 国产黄色免费 | 不卡av在线 | 日韩久久在线 | 欧美日本啪啪无遮挡网站 | 九九九九九九精品 | 国产第一页在线观看 | 久久久久久美女 | 久久久久久激情 | 久久精品国产一区二区 | 精品影院 | www.亚洲| 亚洲成人av免费 | av网址aaa| 999精品在线| 国产精品久久久久久久久久直播 | 免费三级黄 | www.大网伊人 | 亚洲国产精品一区二区久久,亚洲午夜 | 久久经典视频 | 久久国产精品久久久久 | 一级黄色片在线 | 国产成人免费在线 | 成人av片免费观看app下载 | 性色视频在线 | 中文字幕2021 | 最近中文字幕大全 | 久久久久久草 | 国产日韩高清在线 | 色婷婷a| 99精品乱码国产在线观看 | 日韩久久久久久 | 成人黄色大片 | 国产精品成人av久久 | 中中文字幕av在线 | 午夜骚影 | 国产无遮挡又黄又爽馒头漫画 | 波多野结衣精品 | 99精品国产99久久久久久97 | 在线视频免费观看 | 亚洲国产免费 | 99久久婷婷国产综合精品 | 中文字幕五区 | 国模一区二区三区四区 | 欧美 日韩精品 | 久久老司机精品视频 | 99精品免费久久久久久久久 | 国产乱码精品一区二区三区介绍 | 三级a视频 | 久久伦理网 | 91大神视频网站 | 久久精品99久久久久久 | 亚洲资源在线观看 | 99久久精品久久亚洲精品 | 国产h片在线观看 | 国产亚洲精品日韩在线tv黄 | 中文字幕黄网 | 国产高清无av久久 | 欧美最新另类人妖 | 久久视频在线观看免费 | 亚洲久久视频 | 精品一区二区三区久久久 | 成人羞羞免费 | 精品毛片久久久久久 | 五月天最新网址 | 日本精品一区二区三区在线播放视频 | 精品色综合 | 四虎影视成人精品国库在线观看 | 久久黄页| 日韩免费电影一区二区 | 国产黄网站在线观看 | 国产精品女 | 丁香五月网久久综合 | 欧美日韩在线免费观看视频 | 国产精品福利无圣光在线一区 | 91综合久久一区二区 | 伊人首页 | 成人国产精品一区二区 | 久久久久久国产精品 | 99999精品 | 人人爽人人爽人人爽学生一级 | 88av网站| 国产伦精品一区二区三区免费 | 伊人亚洲精品 | 亚洲天堂在线观看完整版 | 午夜性生活| 欧美在线18 | 国产免费黄视频在线观看 | 制服丝袜天堂 | 欧美日韩一区二区视频在线观看 | 久久精品美女视频 | 久久久91精品国产一区二区三区 | 亚洲一区黄色 | 99热 精品在线 | 国产精品va在线 | 在线免费观看黄色大片 | 国产一区在线免费观看视频 | 日韩视频中文字幕 | 97精品国产手机 | 国产精品免费人成网站 | 久久久久久久电影 | 91丨九色丨丝袜 | 精品久久片 | 国产精品免费不卡 | 91香蕉视频黄色 | 国内精品久久久久影院一蜜桃 | 久久黄色精品视频 | 亚洲欧美日韩中文在线 | 久久精品5| 香蕉97视频观看在线观看 | 成人综合婷婷国产精品久久免费 | 综合久久2023 | 欧美在线1区 | 天天综合导航 | 国产r级在线观看 | 天天天综合网 | 免费在线黄色av | 激情五月婷婷 | 伊人国产在线观看 | 久久综合狠狠综合久久狠狠色综合 | 超碰最新网址 | 亚洲一级黄色片 | 午夜久久久精品 | 91色在线观看 | 最近中文字幕第一页 | 欧美日韩一区二区三区免费视频 | 免费a现在观看 | 天堂av免费在线 | 国产一级视频在线观看 | 免费看一级黄色大全 | 麻豆一区在线观看 | 精品国内自产拍在线观看视频 | 欧美日韩中文国产一区发布 | 国产精品乱码久久久久久1区2区 | 911精品视频| 一级黄色免费 | 91九色在线视频观看 | 久久精品成人热国产成 | 亚洲精品一区二区三区新线路 | 久久久久伦理电影 | 玖玖国产精品视频 | 欧美最爽乱淫视频播放 | 手机看片1042 | 精品人人人 | 天天爱天天色 | 黄色aa久久 | 国产一级免费片 | 中文字幕一区二区在线观看 | 99久久婷婷| 最近中文字幕免费视频 | 久久久综合 | 最近最新中文字幕视频 | 永久免费精品视频 | 最新真实国产在线视频 | 麻豆一精品传二传媒短视频 | 精品久久国产一区 | 国产色拍拍拍拍在线精品 | 青春草视频 | 日韩精品高清视频 | 成年人网站免费在线观看 | 欧美国产不卡 | 精油按摩av| 青草视频在线免费 | 久久精品一二区 | 亚洲视频久久久久 | 久久久久久久久久电影 | 日日夜夜网站 | 91精品国产综合久久福利不卡 | 国产美女在线精品免费观看 | 久久国产精品第一页 | 精品国产一区二区在线 | 国产精品高清在线观看 | 久久国产精品99久久久久 | 日韩另类在线 | 在线观看免费高清视频大全追剧 | 久久久久亚洲国产 | 日日干 天天干 | 毛片.com| 欧美日韩观看 | 免费欧美 | 精品国产乱码久久久久久久 | 免费看短| 国产精品久久久久久久久久久久久 | 天天综合网久久综合网 | 亚洲天堂色婷婷 | 成人免费观看大片 | 国产五月色婷婷六月丁香视频 | 天天伊人网 | 91精品国产三级a在线观看 | 91香蕉视频黄色 | 久久综合狠狠综合久久狠狠色综合 | 成人av网址大全 | 日韩欧美xxx | 在线观看国产永久免费视频 | 丁香六月综合网 | 成人av在线一区二区 | 91免费国产在线观看 | 成人毛片一区 | 狠狠色香婷婷久久亚洲精品 | av在线播放一区二区三区 | 九七视频在线 | 超碰人人av| 国产 一区二区三区 在线 | 久久久久草| 中文av资源站 | 天天天干天天射天天天操 | 国产精品免费在线播放 | 在线中文字幕视频 | 国产在线a | 极品嫩模被强到高潮呻吟91 | 久久在线免费 | 国产高清综合 | 精品亚洲一区二区 | 国产中文字幕网 | 精品国产伦一区二区三区观看方式 | 91高清免费观看 | 成人国产精品av | 亚洲成av人影院 | 8x8x在线观看视频 | 精品一区二区三区在线播放 | 日韩免费电影 | 亚洲天堂网视频在线观看 | 日韩毛片精品 | 蜜臀aⅴ国产精品久久久国产 | 欧美日韩一区二区久久 | 婷婷六月天丁香 | 久久久www | av网在线观看 | 97超碰超碰 | 国产成人精品亚洲日本在线观看 | 国产在线播放观看 | 日本99久久 | 视频国产在线 | 手机av在线不卡 | 久av在线 | 国产精品欧美久久久久天天影视 | 免费国产视频 | 精品高清视频 | 片网站 | 亚洲成人资源在线观看 | 亚洲在线精品视频 | 国产精品欧美 | www最近高清中文国语在线观看 | 在线观看免费av网 | 伊人久久婷婷 | 国产精品久久久久久久久久免费 | 亚洲欧美激情插 | 国产精品乱码久久久久久1区2区 | 久久夜色精品国产欧美乱 | 欧美精品久久天天躁 | 欧美久草视频 | 99久久激情 | 欧美日韩一区二区在线观看 | 国产99久久久精品视频 | 日韩av一区二区在线 | 国产毛片久久久 | 91试看| 国产在线观看你懂的 | 伊在线视频 | 亚洲国产一二三 | 久久综合亚洲鲁鲁五月久久 | 精品国产伦一区二区三区 | 69亚洲精品 | 91成版人在线观看入口 | 免费日韩一区二区三区 | 日韩理论在线观看 | 人人玩人人添人人 | 久久中文字幕导航 | 成人在线免费观看视视频 | 国产精品第二页 | 国产精品日韩久久久久 | 久久久久久久久久久成人 | 成人性生爱a∨ | 国产91aaa| 久色 网 | 四虎成人精品永久免费av | 丁香婷婷社区 | 999ZYZ玖玖资源站永久 | 免费精品视频在线 | 精品国产自 | 久久久这里有精品 | 中文字幕一区二区三区精华液 | 国产在线传媒 | 狠狠干.com| 欧美一级视频免费看 | 九九视频精品在线 | 就要干b | 天天操网站 | av不卡在线看 | 中文国产字幕 | 日韩理论电影在线观看 | 中文字幕在线观看一区二区三区 | av成人动漫在线观看 | 欧美黑人猛交 | 国产黄色精品在线 | 黄色成人在线网站 | 国产一区二区不卡视频 | 99九九热只有国产精品 | 欧美性一级观看 | 99麻豆久久久国产精品免费 | 久久一本综合 | 天天射天天操天天干 | 亚洲最新av在线 | 久久伊人精品天天 | 天天操天天干天天综合网 | 国产精品一区二区三区观看 | 岛国av在线不卡 | 综合天堂av久久久久久久 | 国产高清精品在线观看 | 一区二区成人国产精品 | 国产精品涩涩屋www在线观看 | 欧美成人中文字幕 | 日韩特黄一级欧美毛片特黄 | 性色av一区二区三区在线观看 | 精品亚洲一区二区三区 | 在线国产中文字幕 | 麻豆国产在线播放 | 毛片888 | 日韩视频在线观看视频 | 主播av在线 | 免费高清av在线看 | 精品中文字幕在线观看 | 国产精品a成v人在线播放 | 天天操天天色天天射 | 国内精品久久久久影院日本资源 | 国产做aⅴ在线视频播放 | 欧美人人 | 欧美激情第八页 | 美女视频黄免费网站 | 91桃色在线观看视频 | 色婷婷久久久综合中文字幕 | 欧美日在线 | 99精品视频免费 | 免费观看一级特黄欧美大片 | 亚洲视频久久 | 一二三区av | 国产精品video爽爽爽爽 | 在线免费观看国产精品 | 久久综合欧美精品亚洲一区 | 免费观看的黄色 | 久久久久精 | 91九色视频在线播放 | 人人爽人人爽av | 一级精品视频在线观看宜春院 | 久操中文字幕在线观看 | 国产精品刺激对白麻豆99 | 超碰在线天天 | 俺要去色综合狠狠 | 欧美日韩视频一区二区 | 日韩欧美在线不卡 | 成人免费在线播放视频 | 欧美日韩高清一区 | 国产综合精品一区二区三区 | 中文字幕网站 | 精品国产视频一区 | www.天天成人国产电影 | 亚洲少妇久久 | 国产一级二级三级视频 | 国内精品久久久久影院一蜜桃 | 美女视频永久黄网站免费观看国产 | 日韩在线视频播放 | 国产亚洲情侣一区二区无 | 欧美一区二区三区特黄 | 最近中文字幕mv | 国产99久久久精品 | 综合激情 | 亚洲三级视频 | 伊香蕉大综综综合久久啪 | 日韩在线一级 | 91在线网站| 久草9视频| 亚洲免费在线观看视频 | 久久国产精品精品国产色婷婷 | 日韩av免费观看网站 | 一区二区三区在线看 | 成人黄色电影免费观看 | 欧美日韩免费一区 | 国产一级在线 | 国产区第一页 |