亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tcps-epoll.cpp

?? Linux Epoll用法實例(Socket編程)
?? CPP
字號:
#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/wait.h>#include <arpa/inet.h>#include <sys/epoll.h>#define SERVPORT 9999#define BACKLOG 10#define MAXDATASIZE 100#define MAX_EPOLL_NUM 200char *strrev(char *str) {    char *p1, *p2;    if (!str || !*str)          return str;    for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)    {      *p1 ^= *p2;      *p2 ^= *p1;      *p1 ^= *p2;    }    return str; }int main(int argc, char *argv[]){   int sockFd, connectedFd;   struct sockaddr_in serv_addr;   struct sockaddr_in client_addr;   int epollFd, ackFds;   struct epoll_event eventReg, epollEvent[MAX_EPOLL_NUM];   char buf[MAXDATASIZE];   int recvBytes;         printf("create the socket...\n");   if ((sockFd = socket(AF_INET, SOCK_STREAM, 0)) == -1)    {     perror("create socket error!");      exit(1);   }      serv_addr.sin_family=AF_INET;   serv_addr.sin_port=htons(SERVPORT);   serv_addr.sin_addr.s_addr = INADDR_ANY;   bzero(&(serv_addr.sin_zero),0);         int yes = 1;   if (setsockopt(sockFd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1)   {     perror("setsockopt error!");     close(sockFd);     exit(1);   }       printf("bind the socket...\n");   if (bind(sockFd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1)    {     perror("bind error!");     close(sockFd);     exit(1);   }   printf("socket is listening...\n");      if (listen(sockFd, BACKLOG) == -1)    {     perror("listen error!");     close(sockFd);     exit(1);   }   epollFd = epoll_create(MAX_EPOLL_NUM);   eventReg.data.fd = sockFd;   eventReg.events = EPOLLIN;   if(epoll_ctl(epollFd, EPOLL_CTL_ADD, sockFd, &eventReg) < 0)   {     perror("epoll_ctl error!");     close(sockFd);     exit(1);   }   while(1)   {     printf("epollwaitting...\n");     ackFds = epoll_wait(epollFd, epollEvent, MAX_EPOLL_NUM, -1);               for(int i=0; i<ackFds; i++)     {       if (epollEvent[i].data.fd == sockFd)       {       	 printf("socket is ready for accept...accepting...\n");	 socklen_t add_size = sizeof(struct sockaddr_in);	 if ((connectedFd = accept(epollEvent[i].data.fd, (struct sockaddr *)&client_addr, &add_size)) == -1) 	 {	   perror("accept error!");	   close(epollEvent[i].data.fd);	   exit(1);	 }         else	 {           printf("received a connection from %s:%d\n", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port));	   if (send(connectedFd, "Hello, you are connected!\n", 26, 0) == -1)	   {	     perror("send error!");	     close(connectedFd);	     continue;	   }	   eventReg.data.fd = connectedFd;	   eventReg.events = EPOLLIN;	   if(epoll_ctl(epollFd, EPOLL_CTL_ADD, connectedFd, &eventReg) < 0)	   {	     perror("1epoll_ctl error!");	     close(connectedFd);	     continue;	   }	 }       }       else       {	 recvBytes=-1;	 if ((recvBytes=recv(epollEvent[i].data.fd, buf, MAXDATASIZE, 0)) ==-1) 	 {	   perror("recv error!");	   eventReg.data.fd = epollEvent[i].data.fd;	   if(epoll_ctl(epollFd, EPOLL_CTL_DEL, epollEvent[i].data.fd, &eventReg) < 0)	   {	     perror("epoll_ctl error!");	   }	   close(epollEvent[i].data.fd);	   continue;	 }	 buf[recvBytes] = '\0';	 printf("Received: %s\n",buf);	 strcpy(buf, strrev(buf));	 if (send(epollEvent[i].data.fd, buf, strlen(buf), 0) == -1)	 {	   perror("send error!");	   eventReg.data.fd = epollEvent[i].data.fd;	   if(epoll_ctl(epollFd, EPOLL_CTL_DEL, epollEvent[i].data.fd, &eventReg) < 0)	   {	     perror("epoll_ctl error!");	   }	   close(epollEvent[i].data.fd);	   continue;	 }         if (buf[0] == '0')	 {           printf("one client exited!\n");	   eventReg.data.fd = epollEvent[i].data.fd;	   if(epoll_ctl(epollFd, EPOLL_CTL_DEL, epollEvent[i].data.fd, &eventReg) < 0)	   {	     perror("epoll_ctl error!");	   }	   close(epollEvent[i].data.fd);	   continue;	 }       }     }   }     close(sockFd);     }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频在线观看一区二区| 国产欧美一区二区精品性色| 精品欧美乱码久久久久久| 久久青草欧美一区二区三区| 成人免费在线视频| 亚洲成人免费在线| 国产乱色国产精品免费视频| 色先锋资源久久综合| 日韩欧美一二区| 国产精品国产三级国产有无不卡 | 国产九九视频一区二区三区| 成人黄色国产精品网站大全在线免费观看 | 久久精品亚洲麻豆av一区二区| 国产精品青草综合久久久久99| 一区二区理论电影在线观看| 精品亚洲免费视频| 欧美在线高清视频| 精品国产髙清在线看国产毛片| 国产精品福利影院| 久久99精品久久久久久| 99免费精品视频| 日韩午夜在线播放| 亚洲精品欧美在线| 国产电影精品久久禁18| 欧美精品777| 综合色天天鬼久久鬼色| 捆绑紧缚一区二区三区视频 | 亚洲免费观看高清完整版在线观看熊| 天天av天天翘天天综合网| 成人性视频网站| 精品少妇一区二区三区日产乱码 | 在线亚洲一区二区| 久久精品一区蜜桃臀影院| 亚洲18影院在线观看| 99国产精品99久久久久久| 精品久久久久av影院| 亚洲成人午夜电影| 91香蕉视频污| 欧美激情艳妇裸体舞| 麻豆中文一区二区| 欧美日韩mp4| 亚洲欧美日韩一区二区| 粗大黑人巨茎大战欧美成人| 日韩精品中文字幕一区二区三区| 亚洲在线观看免费| 97se亚洲国产综合自在线不卡| 久久奇米777| 激情成人午夜视频| 在线综合亚洲欧美在线视频| 夜夜亚洲天天久久| 色综合久久天天综合网| 国产欧美日韩另类视频免费观看| 精品一区二区av| 欧美成人一区二区三区片免费| 日韩中文字幕一区二区三区| 在线欧美一区二区| 日韩一区中文字幕| 91亚洲精品一区二区乱码| 国产精品久久福利| 成人黄色电影在线 | 成人激情电影免费在线观看| 国产成人综合视频| 精品国产人成亚洲区| 美女一区二区在线观看| 欧美一区二区视频观看视频| 日日夜夜免费精品| 7777精品伊人久久久大香线蕉的 | 91成人网在线| 亚洲综合清纯丝袜自拍| 91美女片黄在线观看| 亚洲三级在线免费| 在线视频一区二区免费| 一区二区日韩av| 欧美亚洲一区二区在线| 亚洲国产精品久久艾草纯爱 | 婷婷综合另类小说色区| 8x福利精品第一导航| 首页亚洲欧美制服丝腿| 7777精品伊人久久久大香线蕉经典版下载| 亚洲成人免费在线| 欧美一个色资源| 精品一区二区国语对白| 久久久不卡影院| 成人h动漫精品一区二| 亚洲日本一区二区三区| 在线免费不卡电影| 三级欧美韩日大片在线看| 91精品国产色综合久久| 黑人精品欧美一区二区蜜桃| 国产日产亚洲精品系列| 99久久精品免费精品国产| 亚洲欧美视频一区| 欧美日韩一区小说| 久久综合综合久久综合| 国产日产欧美一区| 91美女精品福利| 手机精品视频在线观看| www日韩大片| 91麻豆自制传媒国产之光| 亚洲午夜免费视频| 欧美va亚洲va国产综合| 成人黄色一级视频| 亚洲成人7777| 久久久久国产精品麻豆| 色综合中文字幕| 视频精品一区二区| 国产午夜精品久久久久久久| 99这里只有精品| 日韩va亚洲va欧美va久久| 国产亚洲欧美在线| 在线精品视频一区二区三四| 免费成人在线观看| 中文字幕第一区| 欧美日韩一二三区| 岛国av在线一区| 亚洲第一会所有码转帖| 国产丝袜在线精品| 欧美三级欧美一级| 国产精品三级av在线播放| 欧美影院一区二区| 国内精品国产成人国产三级粉色| 日韩久久一区二区| 精品美女在线播放| 91国产免费观看| 国产盗摄一区二区三区| 亚洲成年人网站在线观看| 国产女同性恋一区二区| 在线成人午夜影院| 97久久超碰国产精品| 精品系列免费在线观看| 一区二区三区国产| 日本一区二区三区国色天香| 欧美高清一级片在线| thepron国产精品| 六月婷婷色综合| 一区二区欧美视频| 中文字幕第一页久久| 日韩一级大片在线| 欧洲亚洲精品在线| 国产 日韩 欧美大片| 日本视频中文字幕一区二区三区| 中文字幕一区在线| 久久久99精品久久| 日韩一区二区三区免费观看| 在线免费视频一区二区| 成人少妇影院yyyy| 国产一区二区三区高清播放| 亚洲国产一区视频| 亚洲男同性视频| 国产精品日产欧美久久久久| 精品99久久久久久| 欧美日韩国产高清一区二区| 成人福利视频网站| 国产福利一区二区三区| 青青草国产成人av片免费| 一区二区欧美视频| 亚洲人成伊人成综合网小说| 国产日产亚洲精品系列| 精品噜噜噜噜久久久久久久久试看| 欧美日韩一本到| 欧美在线免费观看视频| 99国产一区二区三精品乱码| 国产成人午夜电影网| 久久国产精品72免费观看| 日韩国产一二三区| 首页亚洲欧美制服丝腿| 亚洲第一成年网| 亚洲一区成人在线| 亚洲久草在线视频| 一区二区三区在线视频观看58| 中文字幕一区二区三区在线不卡| 欧美激情一区在线观看| 国产亚洲综合色| 日本一区二区三区国色天香| 久久精品视频一区二区| 国产偷国产偷精品高清尤物| 精品国产成人系列| 久久久国产精品午夜一区ai换脸| 精品国产乱码久久久久久久 | 精品一区二区三区影院在线午夜 | 精品国产污网站| 精品伦理精品一区| 久久男人中文字幕资源站| 久久亚洲精品小早川怜子| 26uuu另类欧美亚洲曰本| 国产一区二区三区免费| 国内欧美视频一区二区| 国产美女精品人人做人人爽| 国产一区二区91| 国产经典欧美精品| 成人免费视频caoporn| av成人老司机| 91久久精品一区二区二区| 在线亚洲免费视频| 欧美肥胖老妇做爰| 欧美tickling挠脚心丨vk| 久久久久久一二三区| 欧美激情资源网| 亚洲精品乱码久久久久久日本蜜臀| 一区二区三区成人|