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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

發(fā)布時間:2023/11/30 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 TCP簡介

tcp是一種基于流的應(yīng)用層協(xié)議,其“可靠的數(shù)據(jù)傳輸”實現(xiàn)的原理就是,“擁塞控制”的滑動窗口機制,該機制包含的算法主要有“慢啟動”,“擁塞避免”,“快速重傳”。

?2 TCP socket建立和epoll監(jiān)聽實現(xiàn)

數(shù)據(jù)結(jié)構(gòu)設(shè)計

linux環(huán)境下,應(yīng)用層TCP消息體定義如下:

typedef struct TcpMsg_s {TcpMsgHeader head;void* msg; }TcpMsg;

其中,head表示自定義的TCP消息頭,它的定義如下:

?

//TCP消息類型,根據(jù)業(yè)務(wù)需求定義
typedef enum MSGTYPE _e {EP_REG_REQ = 0,EP_REQ_RSP = 1, }MSGTYPE;
//TCP消息頭定義的通用框架 typedef
struct TcpMsgHead_s {int len;//消息長度(用作TCP粘包處理)MSGTYPE type;//消息類型(用作接收端消息的解析) }TcpMsgHead;

socket建立C代碼

TCP客戶端和服務(wù)端都采用linux提供的epoll機制(epoll_create(),epoll_wait(),epoll_ctl())對socket實現(xiàn)監(jiān)聽(可讀,可寫事件等)。

開源事件驅(qū)動庫lievent對socket事件的監(jiān)聽也是通過對epoll事件的封裝實現(xiàn)的。

(1)TCP服務(wù)端socket建立C代碼

基本原理:利用linux網(wǎng)絡(luò)通信API(scoket(),bind(),listen())來創(chuàng)建服務(wù)器端socket;

代碼如下:輸入?yún)?shù):localip,本地ip;port:服務(wù)端本地的監(jiān)聽端口號;輸出:返回-1,表示失敗;返回>0的fd,表示socket建立成功;

1 int TcpServer(uint32_t lcoalip, int port) 2 { 3 int fd; 4 struct sockaddr_in addr; 5 6 //socket建立 7 if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) 8 { 9 printf("IN TcpServer() scoket created failed,errno is %d, strerror is %s\n", errno, strerror(errno)); 10 return -1; 11 } 12 13 //設(shè)置socket為非阻塞模式 14 int flags = fcntl(fd, F_GETFL, 0); 15 fcntl(fd, F_SETFL, flags | O_NONBLOCK); 16 17 memset(&addr, 0 , sizeof(addr)); 18 addr.sin_family = AF_INET; 19 addr.sin_addr.s_addr = localip; 20 addr.sin_port = port; 21 22 //綁定本地端口和IP 23 if (bind(fd, (struct sockaddr_in)&addr, sizeof(addr) < 0)) 24 { 25 printf("IN TcpServer() bind failed,fd is%d, errno is %d, strerror is %s\n", fd, errno, strerror(errno)); 26 return -1; 27 } 28 29 if (listen(fd, 20< 0)) 30 { 31 printf("IN TcpServer() listen failed,fd is%d, errno is %d, strerror is %s\n", fd, errno, strerror(errno)); 32 return -1; 33 } 34 35 //add the socket to epoll event 36 if (SubscribeFd(fd, SOCKET_EV) != 0)
{
return -1;
}
37 return fd; 38 }

?

而SubscribeFd函數(shù)功能是將socket添加到epoll的監(jiān)聽事件中

實現(xiàn)如下:

輸入?yún)?shù):fd,待監(jiān)聽的fd;type,枚舉型變量,表明TCP類型,是客戶端還是服務(wù)端;port:服務(wù)端的監(jiān)聽端口號;輸出:返回-1,表示監(jiān)聽失敗;返回0,表示將該socket成功添加到維護(hù)在全局變量g_epoll(TCP_EPOLL類型結(jié)構(gòu)體)中的監(jiān)聽事件中;其中TCP_TYPE枚舉變量和TCP_EPOLL結(jié)構(gòu)體的定義如下:

typedef enum {CLIENT = 0,SERVER = 1, }TCP_TYPE;#define MAX_NUM_EPOLL 1000//最多可監(jiān)聽的socket數(shù)目 typedef struct TCP_EPOLL_s {struct epoll_event* p_event;int nb_evnet;
int nb_client;//for tcp server
int epoll_fd;int sock_listen;//for tcp serverint sock[MAX_NUM_EPOLL];TCP_NL_MSG* p_tcp_nl_msg;//TCP粘包處理數(shù)據(jù)結(jié)構(gòu) }TCP_EPOLL;

SubscribeFd函數(shù)實現(xiàn)如下:

int SubscribeFd (int fd, TCP_TYPE type) {struct epoll_event event;if (CLIENT == type){event.events = EPOLLOUT | EPOLLET;//監(jiān)聽類型為可寫事件 }else if (SERVER == type){event.events = EPOLLIN | EPOLLET;//監(jiān)聽類型為可讀事件 }event.date.u64 = 0;evnet.data.fd = fd;g_epoll.nb_event++;g_epoll.p_event = realloc(g_epoll.p_event, g_epoll.nb_event * sizeof(struct epoll_event));//add epoll control event if (epoll_ctl(g_epoll.epoll_fd, EPOLL_CTL_ADD, fd, &event) != 0){printf("epoll_ctl failed for fd %d, errno is %d, strerror is %s\n", fd, errno, strerror(errno));return -1;}printf("successfully subscribe fd %d\n", fd);return 0; }

?

(2)TCP客戶端socket建立C代碼

基本原理:利用linux網(wǎng)絡(luò)通信API(scoket(),connect())來創(chuàng)建客戶端socket;

代碼如下:輸入?yún)?shù):peerip,服務(wù)端IP;localip,本地ip;port:服務(wù)端的監(jiān)聽端口號;輸出:返回-1,表示失敗;返回>0的fd,表示socket建立成功;

1 int TCPClient(uint32_t peerip,uint32_t localip,uint16_t port) 2 { 3 int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 4 if (fd < 0) 5 { 6 printf("TCPClient() socket failed"); 7 return -1; 8 } 9 10 struct sockaddr_in localaddr = {0}; 11 localaddr.sin_family = AF_INET; 12 localaddr.sin_addr.s_addr = localip; 13 //localaddr.sin_port = htons(port); 14 15 int ret = bind(fd, (struct sockaddr *)&localaddr, sizeof(localaddr)); 16 if (ret < 0) 17 { 18 printf("TCPClient() bind failed localip %u", localip); 19 return -1; 20 } 21 22 int flags = fcntl(fd, F_GETFL, 0); 23 fcntl(fd, F_SETFL, flags | O_NONBLOCK); 24 25 struct sockaddr_in servaddr = {0}; 26 servaddr.sin_family = AF_INET; 27 servaddr.sin_addr.s_addr = peerip; 28 servaddr.sin_port = htons(port); 29 30 ret = connect(fd, (sockaddr *)&servaddr, sizeof(servaddr)); 31 if(ret < 0) 32 { 33 if (errno != EINPROGRESS) 34 { 35 printf("TCPClient() connect failed, peerip %u, port %u", peerip, port); 36 return -1; 37 } 38 } 39 40 printf("TCPClient() connect success, fd = %u,peerip %u, port %u",fd, peerip, port); 41 42 return fd; 43 }

?

(3) TCP客戶端和服務(wù)端利用epoll_wait()實現(xiàn)對socket的監(jiān)聽和消息的接收的通用框架

TCP服務(wù)端監(jiān)聽到監(jiān)聽socket有EPOLLIN事件到來時,調(diào)用int accept_fd = accept();接收此連接請求,然后服務(wù)端要利用epoll_create()為accept_fd創(chuàng)建新的監(jiān)聽事件;

?

linux利用epoll機制實現(xiàn)socket事件的消息接收的C代碼(TCP接收線程的入口)如下:

1 void tcp_thread()2 {3 CreateEpoll();4 CreateSocketFdEpoll(g_tcp_type);5 6 while (1)7 { 8 //wait for a message 9 EpollRecvMsg(); 10 } 11 }


CreateEpoll函數(shù)是調(diào)用epoll_create來創(chuàng)建epoll事件:

1 TCP_EPOLL g_epoll;//全局Epoll變量 2 3 //EPOLL事件的建立 4 void CreateEpoll() 5 { 6 g_epoll.epoll_fd = epoll_create1(0); 7 g_epoll.nb_event = 0; 8 }

?

CreateSocketFdEpoll函數(shù)功能為創(chuàng)建TCP socket和TCP粘連處理數(shù)據(jù)結(jié)構(gòu)初始化:

1 int CreateSocketFdEpoll(TCP_TYPE type)2 {3 uint32_t server_ip = inet_addr(SERVER_IP);4 uint32_t local_ip = inet_addr(LOCAL_IP);5 6 int fd;7 if (CLIENT == type)8 {9 fd = TcpClient(server_ip, SERVER_PORT, local_ip); 10 g_epoll.sock = fd; 11 } 12 else if (SERVER == type) 13 { 14 fd = TcpServer(local_ip, LOCAL_PORT); 15 g_epoll.sock_listen = fd; 16 } 17 18 g_epoll.p_tcpNLMsg = (TCP_NL_MSG)malloc(sizeof(TCP_NL_MSG)); 19 20 InitTcpNLMsg(g_epoll.p_tcpNLMsg); 21 }

InitTcpNLMsg函數(shù)是對TCP粘連處理數(shù)據(jù)結(jié)構(gòu)的初始化:

1 void InitTcpNLMsg(TCP_NL_MSG* pTcpNLMsg) 2 { 3 pTcpNLMsg->g_recv_len = 0; 4 pTcpNLMsg->flag_in_NL_proc = FALSE; 5 memset(pTcpNLMsg->g_recv_buff, 0, MAX_MSG_LEN); 6 }

?其中,TCP粘包處理的數(shù)據(jù)結(jié)構(gòu)設(shè)計和處理邏輯分析詳見另一篇博文:

TCP粘包處理通用框架--C代碼

EpollRecvMsg函數(shù)是調(diào)用epoll_wait()實現(xiàn)對Socket事件的監(jiān)聽和消息的接收:

1 void EpollRecvMsg()2 {3 int epoll_ret = 0;4 int epoll_timeout = -1;5 6 do7 {8 epoll_ret = epoll_wait(g_epoll.epoll_fd, g_epoll.p_event, g_epoll.nb_event, epoll_timeout); 9 }while(epoll_ret < 0 && errno == EINTR); 10 11 if (epoll_ret < 0) 12 { 13 printf("epoll_wait failed: %s\n", strerror(errno)); 14 return; 15 } 16 17 //遍歷處理每一個當(dāng)前監(jiān)聽到的事件 18 for (int i=0;i<epoll_ret;++i) 19 { 20 int fd = g_epoll.p_event[i].data.fd; 21 22 if (CLIENT == g_tcp_type) 23 { 24 if (g_epoll.p_event[i].events & EPOLLOUT) //the socket is writable,socket可寫,表明服務(wù)端已accept該客戶端的connect請求 25 { 26 if (JudgeIfConnSucc(fd) == 0)//判斷TCP連接是否建立成功 27 { 28 struct epoll_event* p_ev = &(g_epoll.p_event[i]); 29 p_ev ->events = EPOLLIN | EPOLLET; 30 31 epoll_ctl(g_epoll.epoll_fd, EPOLL_CTL_MOD,fd, p_ev );//對TCP客戶端socket修改其監(jiān)聽類型,由可寫改為可讀 32 33 printf("tcp_fd_client %d can be written\n", fd); 34 } 35 } 36 else if(g_epoll.p_event[i].events & EPOLLIN) //the socket is readable 37 { 38 RecvTcpMsg(fd); 39 } 40 } 41 else if (SERVER== g_tcp_type) 42 { if (g_epoll.p_event[i].events & EPOLLIN) //the socket is readable,服務(wù)端socket可讀 43 { 44 if (fd == g_epoll.sock_listen)//服務(wù)端接收到一個TCP連接請求 45 { 46 struct sockaddr s_addr; 47 socklen_t length = sizeof(struct sockaddr); 48 49 int conn_fd = accept(fd, &s_addr, &length);//服務(wù)端接收來自客戶端的連接請求 50 51 int flags = fcntl(conn_fd, F_GETFL, 0); 52 fcmt(conn_fd, F_SETFL, flags | O_NONBLOCK); 53 54 g_epoll.sock[g_epoll.nb_client++] = conn_fd; 55 56 SubscribeFd(conn_fd, SERVER);//服務(wù)端將新建立的TCP連接建立新的epoll監(jiān)聽事件,并維護(hù)在全局變量中 57 58 printf("Receive a tcp conn request, conn_fd is %d\n", fd); 59 } 60 else //support multi tcp client 61 { 62 RecvTcpMsg(fd);//接收TCP消息(先進(jìn)行粘包處理,然后根據(jù)消息類型進(jìn)入不同的處理分支) 63 } 64 } 65 } 66 } 67 }

?

(4)通用的TCP消息發(fā)送函數(shù)

函數(shù)實現(xiàn)如下:

輸入:fd,發(fā)送socket;type,業(yè)務(wù)定義的tcp消息類型;msg指針:指向待發(fā)送的消息地址;length,待發(fā)送的msg的字節(jié)數(shù);

輸出:成功,返回發(fā)送的字節(jié)數(shù);失敗,返回-1;

#define MAX_LEN_BUFF 65535
int
SendTcpMsg(int fd, MSGTYPE type, void* msg, int length) {uint8_t buf[MAX_LEN_BUFF];memset(buf,0,MAX_LEN_BUFF);uint32_t bsize = 0;TcpMsgHead* head = (TcpMsgHead*)buf;bsize += sizeof(TcpMsgHead);
//將待發(fā)送消息內(nèi)容拷貝到待發(fā)送緩存中memcpy(buf
+bsize, msg, length);bsize += length;
//封裝TCP消息頭,指明消息類型(用作接收端消息的解析)和消息長度(用作TCP粘包處理)head
->type = type;head->msglen = bsize; int ret = send(fd,(const void*)buf,bsize,0);if(ret != bsize){printf("Failed to send tcp msg,errno=%u,ret=%d, strerror is %s\n", errno, ret, strerror(errno));return -1;}printf("Success to send tcp msg, msg type is %d\n", type); return ret;}

?

轉(zhuǎn)載于:https://www.cnblogs.com/studyofadeerlet/p/7265616.html

總結(jié)

以上是生活随笔為你收集整理的linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

av在线播放中文字幕 | 亚洲欧美综合 | 手机在线免费av | 国产+日韩欧美 | 国产精品成人一区二区 | 丁香六月国产 | 国产对白av| 色插综合 | 日韩精品免费在线观看视频 | 992tv成人免费看片 | 西西444www大胆无视频 | 亚州av成人 | 黄色中文字幕在线 | 天天干夜夜夜操天 | se婷婷| 久久久久亚洲天堂 | 日本字幕网 | 成人免费观看a | 岛国一区在线 | 中文不卡视频在线 | 亚洲四虎影院 | 黄av在线 | 久久国产精品久久精品国产演员表 | 在线观看aa | 蜜臀av性久久久久av蜜臀妖精 | 在线不卡中文字幕播放 | 中文字幕在线观看视频一区 | 欧美韩日视频 | 亚洲国产精品人久久电影 | 午夜影视一区 | 97视频在线观看视频免费视频 | 欧美激情精品久久久久久免费 | 久操免费视频 | 久久精品综合网 | 久久久久久久久久久久亚洲 | 97天天干| 天天操天天干天天摸 | 婷婷精品国产一区二区三区日韩 | 日韩精品在线看 | 在线观看av片 | 久久久色| 在线观看成年人 | 久久这里只有精品视频99 | 日韩欧美高清一区二区 | 色婷婷一 | 国产精品国产亚洲精品看不卡 | 97超碰人人模人人人爽人人爱 | 午夜.dj高清免费观看视频 | 国产精品国产三级国产aⅴ无密码 | 久久爱影视i | 国产在线欧美在线 | 日韩有码专区 | 欧洲性视频 | 在线观看日韩一区 | 免费性网站| 天天操福利视频 | 1000部18岁以下禁看视频 | 亚洲电影久久久 | 摸阴视频 | 成人av免费电影 | av中文字幕在线免费观看 | 午夜精品久久久久久久久久久久久久 | 怡红院av久久久久久久 | 西西444www高清大胆 | 国产亚洲精品久久久久久移动网络 | 婷婷伊人综合 | 韩国在线视频一区 | 国产精品夜夜夜一区二区三区尤 | 国产精品女主播一区二区三区 | 狠狠网站 | 日韩欧美精品在线视频 | 一本一道久久a久久综合蜜桃 | 久久国产一区二区三区 | 久久精品网 | 在线亚洲日本 | 日韩电影在线视频 | 国产91精品欧美 | 特级西西人体444是什么意思 | 一区二区三区韩国免费中文网站 | 91香蕉视频在线 | 99久久久国产精品免费99 | 日韩精品最新在线观看 | 欧美成人精品三级在线观看播放 | 91久久久久久久一区二区 | 久精品视频免费观看2 | 在线观看你懂的网站 | 国产精品婷婷 | 午夜影院日本 | 国产精品资源网 | 4438全国亚洲精品观看视频 | 日韩成人邪恶影片 | 久青草视频在线观看 | 狠狠操操 | 日韩综合视频在线观看 | 日韩影视大全 | 亚洲乱码久久久 | 久久久午夜电影 | 69av在线视频 | 久草99| 在线色亚洲 | 久久综合婷婷 | 国产一区影院 | 夜夜看av| 97电院网手机版 | 久久免费福利 | av视屏在线播放 | 亚洲国产精品人久久电影 | 国产成人一区二区三区在线观看 | 天天骚夜夜操 | 天天色播 | 欧美视频xxx | 黄色的网站免费看 | 日韩亚洲在线 | 狠狠的操你| 欧美日韩精品综合 | 在线免费黄色av | 91精品高清| 五月天激情婷婷 | 国产aaa毛片| 日韩精品久久久久 | 亚洲成人资源在线观看 | 在线观看网站你懂的 | 久久久久二区 | 欧美日韩在线观看视频 | 91成人区 | 色综合久久88色综合天天6 | 色偷偷人人澡久久超碰69 | 国产成人一区二区三区免费看 | av网站有哪些 | 日本精油按摩3 | 亚a在线 | 三级黄色a | 亚洲精品影视在线观看 | 日韩中文字幕视频在线 | 国产一级视频在线 | 成人午夜网 | www免费看 | 伊人五月综合 | 九九热av | 在线视频 成人 | 国产精品久久久区三区天天噜 | 欧美日韩1区 | 97电影院在线观看 | 国产精品大片在线观看 | 欧美福利精品 | 中文字幕中文字幕中文字幕 | 偷拍精品一区二区三区 | 免费看片成人 | 91久久丝袜国产露脸动漫 | 精品国产激情 | 韩国av一区 | 日本精品va在线观看 | 免费黄色网址网站 | 中文在线a在线 | 久久久久成人免费 | 九九久久国产精品 | 菠萝菠萝蜜在线播放 | 在线观看视频黄 | 久草网视频在线观看 | 久久成人精品电影 | 一区二区三区免费在线观看视频 | 综合久久网站 | 日韩亚洲在线 | 99久久99久国产黄毛片 | 91精品国产福利在线观看 | 亚洲国产精品一区二区久久hs | 国产一级视屏 | 伊人婷婷在线 | 91大神电影| 午夜av免费 | 亚洲不卡av一区二区三区 | 久久久亚洲电影 | 国产在线精品一区二区三区 | 一区二区三区韩国免费中文网站 | 久久你懂的 | 激情五月色播五月 | 91在线一区二区 | 人人超碰免费 | 国产精品丝袜久久久久久久不卡 | 波多野结衣视频一区二区 | 亚洲 欧美 精品 | www.色婷婷| 国产精品毛片久久久久久久久久99999999 | 天天综合视频在线观看 | 免费看一及片 | 在线免费中文字幕 | 国外成人在线视频网站 | 91黄色小视频 | 国产青春久久久国产毛片 | 黄色成年 | 精品黄色在线观看 | 亚洲成熟女人毛片在线 | 狠狠操.com | 亚洲精色 | 久久久久亚洲最大xxxx | 国产中文欧美日韩在线 | 久久久久久免费视频 | 国产精品女主播一区二区三区 | 欧美综合干 | www激情com| 精品在线观看国产 | 蜜臀久久99精品久久久酒店新书 | 国产xvideos免费视频播放 | 免费a v观看| 国产成人一区二区三区久久精品 | 日韩91精品 | 手机av电影在线观看 | 久久99精品久久久久久 | 亚洲毛片视频 | 色99在线| 欧洲高潮三级做爰 | 91精品免费在线观看 | 99色在线观看 | 91在线观看高清 | 99久久婷婷国产一区二区三区 | 国产va饥渴难耐女保洁员在线观看 | 国产福利在线 | 最近中文字幕国语免费高清6 | 国产91在线播放 | 亚洲精品男人天堂 | 日韩久久一区二区 | 99999精品| 人人揉人人揉人人揉人人揉97 | 成人在线观看av | av在线日韩 | 亚洲欧美日韩精品一区二区 | 深夜男人影院 | 日韩视频在线观看免费 | 精品一区电影 | 日本韩国精品一区二区在线观看 | 中文字幕激情 | 国产高清不卡一区二区三区 | 日韩欧美精品在线 | 久久精品激情 | 久久久精华网 | 五月天欧美精品 | 免费人做人爱www的视 | 欧美国产精品久久久久久免费 | 日韩精品一区二区三区第95 | 成人av在线看 | 国产成人av综合色 | 97超碰在线免费观看 | 人人搞人人搞 | 在线免费观看视频一区二区三区 | 婷婷香蕉 | 午夜av免费看 | 欧美韩国日本在线 | 国产高清视频在线观看 | 波多野结衣电影一区 | 日韩精品免费在线 | 久久精品com | 操操综合| 国产亚洲精品成人av久久ww | 国产一区二区三区视频在线 | 久久久蜜桃一区二区 | 在线视频国产区 | 成人亚洲网 | 色多多污污在线观看 | 欧美性色综合网站 | 国产精品久久久免费看 | 欧美精品免费在线 | 丁香婷婷久久久综合精品国产 | 中文字幕电影一区 | 在线观看www. | 韩国一区二区三区在线观看 | 免费看一及片 | www.久久久| 五月婷综合 | 精品久久影院 | 亚洲精品看片 | 婷婷国产在线 | 婷婷四房综合激情五月 | 国产精品综合在线 | 天天婷婷 | 国产最新在线视频 | 91久久精品一区二区二区 | 久热国产视频 | 精品久久久久久久久亚洲 | 日b视频在线观看网址 | 国产夫妻性生活自拍 | 午夜骚影 | 欧美精品网站 | 国产综合婷婷 | 久艹视频在线免费观看 | 亚洲日本一区二区在线 | 久久精品99视频 | 99精品久久99久久久久 | 国产成人精品久久亚洲高清不卡 | 国产淫a | 天天射综合 | 91资源在线视频 | www.黄色片网站 | 久久久片 | 96精品高清视频在线观看软件特色 | 亚洲综合欧美日韩狠狠色 | 在线精品一区二区 | 91私密视频 | 全久久久久久久久久久电影 | 日本在线观看中文字幕无线观看 | 国产又粗又猛又爽 | 91原创在线观看 | 久久久久久蜜桃一区二区 | 中文字幕一二三区 | 人人草在线视频 | 精品福利在线视频 | 国产一级性生活 | 午夜婷婷综合 | 日韩av成人在线观看 | 日韩一区二区久久 | 中文字幕成人一区 | 国产精品999久久久 久产久精国产品 | 亚洲第一久久久 | 免费看精品久久片 | www.eeuss影院av撸 | 国产又粗又长又硬免费视频 | 午夜久久成人 | 91污污 | 亚洲精品成人av在线 | 国产精品毛片一区二区在线 | 九月婷婷人人澡人人添人人爽 | 中文字幕在线观看网站 | av成人在线网站 | 久久激情视频 久久 | 偷拍视频一区 | 日韩一二区在线观看 | 亚州精品在线视频 | 在线a亚洲视频播放在线观看 | 亚洲理论片在线观看 | 国产成人精品一二三区 | 国产精品99久久久久久武松影视 | 992tv人人网tv亚洲精品 | 六月丁香久久 | 综合色站导航 | 在线电影 一区 | 在线导航福利 | 久99精品| 国产精品久久久久影视 | 国产精品免费视频网站 | 国产精彩视频 | 亚洲精品视频中文字幕 | 日本一区二区三区免费观看 | 中文字幕91在线 | 国产精品久久久久久久久搜平片 | 一区二区三区免费在线观看视频 | 丁香色婷 | 精品视频久久久久久 | 日本狠狠色| 激情喷水 | 成人小视频在线观看免费 | 国产精品入口66mio女同 | 午夜av片| 久久精品123 | 亚洲成年人在线播放 | 91视频久久久久久 | 亚洲精品国产精品国 | 日韩精品国产一区 | 久久精品国产久精国产 | 尤物一区二区三区 | 国产二区视频在线 | 五月婷影院| 操操操人人 | 四虎影视4hu4虎成人 | 国产91精品在线观看 | 免费看黄的视频 | 国产老太婆免费交性大片 | 亚洲欧洲av | 色视频在线观看免费 | av大全在线观看 | 日韩在线一区二区免费 | 日日干视频 | 亚洲闷骚少妇在线观看网站 | 日韩色中色 | 国产精品第54页 | 国内精品久久久久久久久久久久 | 国产精品一区二区久久精品爱微奶 | 五月婷婷丁香网 | 国产成人亚洲精品自产在线 | 国产精品网址在线观看 | 91tv国产成人福利 | 69av久久| 欧美专区国产专区 | 久久久www成人免费精品张筱雨 | 日韩免费在线看 | 97综合在线 | 四虎永久精品在线 | 麻豆av一区二区三区在线观看 | 亚洲久草在线视频 | 欧美日韩在线视频观看 | a级国产片 | 免费a视频在线 | 午夜视频在线观看一区二区三区 | 精品免费久久久久久 | 欧美精品第一 | 国产精品欧美久久久久天天影视 | av线上看 | 国产二区视频在线观看 | 国产精品免费一区二区三区 | 91视视频在线直接观看在线看网页在线看 | 久久久国产一区二区三区四区小说 | 一级片免费在线 | 一本一本久久a久久精品综合 | a级黄色片视频 | 黄色最新网址 | 国产一区二区三区黄 | 欧美性生交大片免网 | 在线免费黄色毛片 | 在线观看视频免费播放 | 成人av久久 | 免费av网站观看 | 国产高清久久 | 九九国产精品视频 | 国产精品成人一区 | 国产欧美三级 | 99久久久久久国产精品 | 免费亚洲黄色 | 日本在线观看一区 | 国产精品不卡在线观看 | 国产视频日韩 | 人人舔人人插 | 色综久久 | 日韩精品一区二区三区水蜜桃 | 中文字幕综合在线 | 亚洲精品在线免费播放 | 干干夜夜 | 久久五月婷婷丁香社区 | 亚洲成成品网站 | 一区二区三区在线观看免费 | 色综合久久久久综合体 | 99精品视频免费观看 | www.久久免费视频 | 精品久久久久久综合 | 成人av免费播放 | 成人三级网站在线观看 | 国产美女精品人人做人人爽 | 狠狠色伊人亚洲综合网站色 | 久久精品官网 | 五月婷婷电影网 | 婷婷丁香五 | 特级毛片在线观看 | 日韩欧美99| 亚洲精品字幕在线观看 | 日韩国产欧美在线视频 | 婷婷开心久久网 | 天天射天天干天天 | 国产色在线,com | 最新影院 | 免费视频久久久久久久 | 蜜臀久久99精品久久久无需会员 | 天天操天天干天天爱 | 国产精品不卡在线播放 | 婷婷亚洲综合五月天小说 | 国产精品 亚洲精品 | 久久论理 | 成人av一区二区在线观看 | 国产精品久久99 | 人人澡人人澡人人 | 一级精品视频在线观看宜春院 | 91久久国产露脸精品国产闺蜜 | 亚洲开心色| 成人三级av | 久操久 | 日本中文字幕在线 | 五月天天在线 | 成人免费视频播放 | 99久久er热在这里只有精品15 | 日韩一级黄色av | 欧美男同视频网站 | 国产成人精品一区二区三区 | 亚州欧美视频 | 久久久久女人精品毛片九一 | 黄网在线免费观看 | 久久久久久久久久久福利 | 91桃色免费观看 | 国产男女爽爽爽免费视频 | 黄色中文字幕在线 | 99精品系列| av视屏在线播放 | 精品极品在线 | av电影中文字幕在线观看 | 国产精久久| 国内精品视频在线 | 亚洲成a人片77777kkkk1在线观看 | 精品二区久久 | 视频在线播放国产 | 成人va视频 | 91麻豆视频网站 | 久久免费视频这里只有精品 | 在线观看成人 | 欧美另类高清 | 久久精品一二三区白丝高潮 | 我爱av激情网 | 在线观看国产一区二区 | 日韩精品视频免费看 | 综合色婷婷 | 天堂在线一区二区三区 | 最近中文字幕第一页 | 四虎成人免费影院 | 婷婷久久网 | 91精品国产综合久久婷婷香蕉 | 精品9999| 天天操比 | 不卡视频在线看 | 中文字幕第一页在线视频 | 久产久精国产品 | 日韩欧美视频一区 | 国产一区二区在线观看免费 | 99久久精品国产观看 | 久久久福利 | 国产九色91 | 久久综合久久久 | 九九九九精品 | 亚洲精品综合在线观看 | 国产精品久久久av久久久 | 奇米先锋 | 色婷婷亚洲婷婷 | 香蕉网站在线观看 | 97色se | 美女黄色网在线播放 | 不卡的av电影在线观看 | 国产一级久久久 | 精品久久久亚洲 | 中文字幕免费高清在线观看 | 四虎影院在线观看av | 色99视频| 成人免费91| 国产主播大尺度精品福利免费 | 免费观看全黄做爰大片国产 | 国产精品videossex国产高清 | 亚洲日日日| 久久天天躁狠狠躁夜夜不卡公司 | 国产麻豆果冻传媒在线观看 | 天天曰天天曰 | 黄色一及电影 | 欧美成人在线免费观看 | 国产91精品欧美 | 国产伦理一区 | 波多野结衣一区 | 91av原创| 999久久国产 | 中文av一区二区 | 一区二区 久久 | 久久久 激情 | 国产精品白浆 | 亚洲激情在线视频 | 99久久国产免费免费 | 摸bbb搡bbb搡bbbb | 中文字幕免费看 | 欧美二区三区91 | 伊人天天综合 | 日韩精品aaa | 91麻豆免费看 | 国产精品大全 | 国产成人黄色网址 | 青青河边草免费直播 | 黄色小网站在线观看 | 在线色资源 | 五月婷婷在线视频观看 | 99精品视频免费观看 | 欧美日韩亚洲在线 | 国产在线色视频 | 天天操综合 | 亚洲欧美视频在线 | 久久久久久久久久久免费av | 国内视频在线 | 天天干天天碰 | 99c视频在线 | 91精品国产一区二区三区 | 久久伦理视频 | 中文字幕在线播放日韩 | 91av免费观看 | 久久久穴 | 亚洲色图av | 国产精品嫩草55av | 亚洲欧美在线综合 | 免费91麻豆精品国产自产在线观看 | 国产一区二区不卡视频 | 91视频在线免费看 | 久草在线综合网 | 伊人干综合 | 激情开心站 | 成人97人人超碰人人99 | 黄p在线播放 | 亚洲国产网址 | 国产 一区二区三区 在线 | 黄色三级网站 | 精品人人人人 | 国产精品v欧美精品 | 久久久久久久影视 | 国产精品黄色 | 婷婷色中文 | 成人av在线影视 | 91av蜜桃 | 中文字幕乱码亚洲精品一区 | 成人国产精品免费观看 | 91亚洲国产 | 亚洲成色777777在线观看影院 | 精品欧美在线视频 | 九九九九精品九九九九 | 丁香花中文在线免费观看 | 又黄又刺激视频 | 天天在线视频色 | 91在线产啪 | 三级在线国产 | 日本爽妇网| 成年人免费av | 在线视频 成人 | 日韩欧美国产激情在线播放 | 福利视频在线看 | 91福利视频久久久久 | 久久精品二区 | 婷婷丁香花 | 国产小视频在线看 | 天天操天天干天天 | 亚洲日本一区二区在线 | 91精品伦理 | 国产精品麻豆三级一区视频 | 九九九九免费视频 | 一级片黄色片网站 | 久热免费在线 | 男女激情片在线观看 | 免费日韩av片 | 最近最新最好看中文视频 | 不卡的av| 久久亚洲视频 | 国产91精品久久久久久 | 在线视频 影院 | www.五月婷婷 | 免费无遮挡动漫网站 | 精品欧美一区二区精品久久 | 99精品国产一区二区三区麻豆 | 久久久免费少妇 | 成人精品国产 | 特级西西444www大胆高清无视频 | 欧美日韩中文国产一区发布 | 亚洲特级毛片 | 97香蕉超级碰碰久久免费软件 | av天天色 | 欧美性做爰猛烈叫床潮 | 视频在线观看99 | a级片久久久 | 国产精品一区二区三区在线 | 日韩高清二区 | 在线免费观看黄色大片 | 亚洲五月综合 | 欧美激情视频一区二区三区免费 | 国产高潮久久 | 99久久精品网 | www.国产精品 | 99在线精品免费视频九九视 | 国产成人精品一区二区三区在线观看 | 中文字幕免费高 | 国产xxxx性hd极品 | 在线99热| 日韩av一区二区在线影视 | 国产精品成人av在线 | 亚洲欧美日韩精品久久久 | 五月激情丁香图片 | 四虎成人精品在永久免费 | 久草91视频 | 超薄丝袜一二三区 | 97在线观看免费高清完整版在线观看 | 欧美日韩不卡一区 | 久久成人麻豆午夜电影 | www.久久色| 97视频在线免费观看 | 激情网五月婷婷 | 免费情趣视频 | 国产精品网站一区二区三区 | 久久久久久久亚洲精品 | 日韩一区二区在线免费观看 | 国产视频一区二区三区在线 | 久久久久激情 | 欧美老少交 | 国产小视频免费在线网址 | 狠狠插狠狠操 | 日本公乱妇视频 | 色丁香综合 | 日本午夜免费福利视频 | 亚洲成年人av| 精品国产黄色片 | 99色视频在线 | 国产精品视频99 | 日韩午夜精品 | 亚洲欧美经典 | 黄色小网站在线观看 | 91精品啪在线观看国产线免费 | 一色屋精品视频在线观看 | 日韩精品一区二区三区高清免费 | 操久久网 | 久久成人资源 | 久久资源总站 | 亚洲免费观看在线视频 | 久久精品—区二区三区 | 亚洲精品1区2区3区 超碰成人网 | 国产福利91精品 | 国产精品不卡 | 中文字幕免费成人 | 中文字幕123区 | 蜜桃麻豆www久久囤产精品 | 婷婷在线视频 | 91亚洲精品久久久蜜桃借种 | 日韩视频精品在线 | 国产精品日韩久久久久 | 久久国产精品区 | 日韩电影中文字幕在线 | 69视频在线| 久久久久久久久久久精 | 色网站在线免费观看 | 不卡电影免费在线播放一区 | 久久久在线免费观看 | 欧美日韩精品在线 | 五月丁香 | 绯色av一区 | 欧美黑人性猛交 | 日韩久久精品一区二区 | 国产成人久久77777精品 | av五月婷婷| 成人av电影在线 | av三级av| 国产在线91在线电影 | 久久久久久久免费看 | 最近高清中文在线字幕在线观看 | 亚洲视频分类 | 麻豆一二三精选视频 | 日韩免费三区 | 在线视频 你懂得 | 伊人久久精品久久亚洲一区 | 91成人免费在线视频 | 久久久久激情电影 | 这里只有精品视频在线 | 91影视成人 | 在线а√天堂中文官网 | 欧美激情视频一区二区三区 | 在线观看91av | 九色免费视频 | 日韩欧美xxx | 黄色三级网站在线观看 | 在线观看视频一区二区三区 | 一二区av | 在线免费视频一区 | 欧美99久久| 黄色av在 | 日韩美女av在线 | 福利一区在线 | 九九九热精品免费视频观看网站 | 国产精品免费视频一区二区 | 亚洲a色 | 国产偷在线| 波多野结衣精品视频 | 97久久久免费福利网址 | 日韩在线观看第一页 | 亚洲第一av在线播放 | 国产成人在线免费观看 | 99视频这里只有 | 2023国产精品自产拍在线观看 | 久久国产精品免费看 | 亚洲精品乱码久久久久久写真 | 激情网在线视频 | av网站免费在线 | 日日日日干 | 久久黄色成人 | 天天干,夜夜爽 | 国产成人精品亚洲日本在线观看 | 91九色porny蝌蚪视频 | 国产无套视频 | 超碰在线日韩 | 狠狠狠色丁香综合久久天下网 | 色久综合 | 日本黄色免费大片 | 国产成人一区二区三区电影 | 国产又黄又爽无遮挡 | 毛片永久免费 | 在线看岛国av | 免费在线观看日韩欧美 | 夜夜操天天干 | 2018亚洲男人天堂 | 色天天中文 | 欧美日韩国产mv | 亚洲日b视频 | 国产亚洲久一区二区 | 一区二区三区 中文字幕 | 99久久这里只有精品 | 911免费视频| 91tv国产成人福利 | 日韩中文在线观看 | 欧美一区二区在线免费观看 | 久久久午夜精品理论片中文字幕 | 精品美女久久久久 | 五月婷婷激情网 | 国产久视频| 最近字幕在线观看第一季 | 在线观看黄网 | 色999视频 | 日本三级久久久 | 美女福利视频在线 | 日韩欧美精品一区二区 | 国产精品xxxx18a99 | 又粗又长又大又爽又黄少妇毛片 | 久青草国产在线 | 亚洲国产精品激情在线观看 | 超碰97国产精品人人cao | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲成色777777在线观看影院 | 日日夜夜狠狠干 | 久草精品视频在线观看 | 91在线视频精品 | 久久久精品亚洲 | 日韩视频中文字幕在线观看 | 日韩视频在线观看免费 | 日韩精品在线看 | 成人在线观看av | 黄色三几片 | 999久久a精品合区久久久 | 91视频一8mav | 欧美一级日韩三级 | 狠狠色伊人亚洲综合网站色 | 国产精品欧美一区二区 | 国产麻豆精品免费视频 | 日本精品一区二区在线观看 | 日日夜夜天天久久 | 免费网址在线播放 | 毛片99| 国产高清视频在线播放一区 | 久久这里只有精品首页 | 亚洲综合五月天 | 丝袜一区在线 | 久久艹在线观看 | 好看av在线| 国产69精品久久久久99尤 | 91av视频在线免费观看 | 97视频一区 | 久久精品91久久久久久再现 | 久久精品99国产精品亚洲最刺激 | 天天干天天干天天干天天干天天干天天干 | 成年人精品| 一区二区三区日韩在线 | 亚洲免费一级电影 | 黄色软件在线观看免费 | 人人插人人做 | 三级视频国产 | 在线观看视频你懂的 | 1区2区3区在线观看 三级动图 | 粉嫩av一区二区三区免费 | 日韩网站免费观看 | 97av免费视频 | 久久黄色免费视频 | 人人射人人射 | 国产精品女同一区二区三区久久夜 | 97精品一区 | 色网站在线免费观看 | 精品一区二区三区久久久 | 五月天中文字幕 | 美女av电影| 亚洲高清免费在线 | 激情婷婷综合 | 欧美成年网站 | 久久人视频 | 免费在线看v | 久久国产精品免费一区二区三区 | 嫩草伊人久久精品少妇av | 五月综合色婷婷 | 欧美福利视频一区 | 国内丰满少妇猛烈精品播放 | 一区二区三区四区五区在线 | 中文字幕在线高清 | www.五月婷| 亚洲精品人人 | 超碰97在线人人 | 黄色特级片 | 免费影视大全推荐 | 日韩欧美在线一区二区 | 欧美午夜寂寞影院 | 欧美另类老妇 | 久久精品国产亚洲精品2020 | 国产精品网红直播 | 久久不见久久见免费影院 | 天天草综合 | 国产一二区免费视频 | 99精品热视频 | 成人午夜免费剧场 | 天天干夜夜夜操天 | 精品视频www | 性色av香蕉一区二区 | 在线视频你懂得 | 超碰人在线| 日日干日日色 | 超碰在线网| 九九视频热 | 中文字幕日韩一区二区三区不卡 | 91成人免费在线视频 | 粉嫩av一区二区三区四区 | 久久中文字幕在线视频 | 99九九热只有国产精品 | 精品嫩模福利一区二区蜜臀 | 天天射天天 | 国产成人黄色在线 | 日韩在线观看一区二区 | 亚洲激情精品 | 国产中文字幕在线免费观看 | 精品国产乱码久久久久久久 | 91私密保健 | 久久久69 | 99久久精品午夜一区二区小说 | 亚洲精品久久激情国产片 | 日日夜夜精品 | 91视频在线自拍 | 日韩一区二区三区视频在线 | 91视频在线播放视频 | 99久久一区| 久久精品国产一区 | 午夜影院先 | 精品国产伦一区二区三区 | 美女网站视频免费黄 | 91网免费看| 亚洲区另类春色综合小说 | 国产高清免费在线播放 | 久久精美视频 | 亚洲视频h | 国产又粗又硬又爽的视频 | 国产精品a级 | 91精品国产高清自在线观看 | 射久久| 国产高清视频 | 欧美成人久久 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 久久久久久久免费看 | 欧美日韩中文在线观看 | 五月婷婷在线播放 | 久久久久久久久网站 | 天天色宗合 | 久久精彩 | 国内精品视频久久 | 人人艹人人 | 伊人国产女| 午夜av免费在线观看 | 中文字幕在线观看视频一区 | 丁香六月婷婷激情 | 免费看短 | 午夜久久精品 | 激情综合色综合久久综合 | 亚洲精品影视 | 国产亚洲精品bv在线观看 | 国产视频日韩视频欧美视频 | 黄色国产高清 | 欧美精品久久人人躁人人爽 | 国产视频在线观看免费 | 国产精品美女久久久久久2018 | 亚洲国产电影在线观看 | 久久久久国产成人免费精品免费 | 亚洲日韩欧美一区二区在线 | 亚洲人久久 | 91麻豆视频网站 | 国产 av 日韩 | 一级淫片在线观看 | 91精品国产乱码久久 | 99久久精品国 | 日韩在线电影一区二区 | 欧美日韩首页 | 中文字幕视频网 | www.五月婷婷 | 国产精品区免费视频 | 精品国产欧美一区二区 | 最近最新中文字幕视频 | 亚洲一区二区精品 | 国产精品第一视频 | 少妇精品久久久一区二区免费 | 精品成人a区在线观看 | 色噜噜日韩精品欧美一区二区 | 五月天婷婷视频 | 91精品国产乱码久久桃 | 天天综合精品 | 国产精品成人自拍 | 精品久久久久久久久久久院品网 | 亚洲午夜小视频 | 久久免费视频99 | 香蕉一区 | 国产成人a亚洲精品 | 国产精品第二十页 | av免费在线观看网站 | 福利二区视频 | 亚洲黄色在线免费观看 | 久久国产电影 | 国产免费二区 | 91在线播| 久久久精品国产一区二区电影四季 | 久久久国产精品人人片99精片欧美一 | 日韩免费在线观看网站 | 国产精品第一 | 日韩精品欧美专区 | 日日干视频| 手机在线看片日韩 | 激情网站免费观看 | 波多野结衣视频一区 | 精品国产乱码久久 | 亚洲理论在线观看电影 | 在线视频麻豆 | 国产精品丝袜 | 五月婷婷av在线 |