当前位置: 首页 > news >正文

做一个小说网站需要多少钱网站主要内容

做一个小说网站需要多少钱,网站主要内容,电影网站如何做长尾关键词,网站制作公司哪家比较好程序简介#xff1a;这是一个运用epoll系列函数进行IO复用的服务器模型。它是目前UNIX与LINUX平台上效率最高#xff0c;最受欢迎的IO复用传输模型。 其他的不说了#xff0c;直接粘贴代码吧#xff01; 服务器端#xff1a; #include my_unp.h int main(v…程序简介这是一个运用epoll系列函数进行IO复用的服务器模型。它是目前UNIX与LINUX平台上效率最高最受欢迎的IO复用传输模型。 其他的不说了直接粘贴代码吧 服务器端 #include my_unp.h int main(void) { int listenfd, connfd, sockfd, epfd; int i, maxi, nfds; ssize_t n; char buf[MAXLINE]; socklen_t clilen; struct sockaddr_in cliaddr; struct sockaddr_in servaddr; //声明epoll_event结构体的变量,ev用于注册事件,数组用于回传要处理的事件 struct epoll_event ev, events[256]; //创建一个epoll的句柄size用来告诉内核这个监听的数目一共有多大 epfd Epoll_create(256); //创建用于TCP协议的套接字 listenfd Socket(AF_INET, SOCK_STREAM, 0); memset(servaddr, 0, sizeof(servaddr)); servaddr.sin_family AF_INET; servaddr.sin_addr.s_addr htonl(INADDR_ANY); servaddr.sin_port htons(SERV_PORT); //把socket和socket地址结构联系起来 Bind(listenfd, (SA*)servaddr, sizeof(servaddr)); //开始监听LISTENQ端口 Listen(listenfd, LISTENQ); //设置与要处理的事件相关的文件描述符和事件 ev.data.fd listenfd; ev.events EPOLLIN|EPOLLET; //注册epoll事件 Epoll_ctl(epfd, EPOLL_CTL_ADD, listenfd,ev); maxi 0; while(1) { //等待epoll事件的发生 //返回需要处理的事件数目nfds如返回0表示已超时。 nfds Epoll_wait(epfd, events, 20, 500); //处理所发生的所有事件 for(i0; i nfds; i) { //如果新监测到一个SOCKET用户连接到了绑定的SOCKET端口建立新的连接。 if(events[i].data.fd listenfd) { connfd Accept(listenfd,(SA*)cliaddr, clilen); printf(connection from %s, port %d.\n, Inet_ntop(AF_INET, (void*)cliaddr.sin_addr, buf, sizeof(buf)), ntohs(cliaddr.sin_port)); //设置用于读操作的文件描述符和事件 ev.data.fd connfd; ev.events EPOLLIN|EPOLLET; //注册事件 Epoll_ctl(epfd,EPOLL_CTL_ADD,connfd,ev); } //如果是已经连接的用户并且收到数据那么进行读入。 else if(events[i].events EPOLLIN) { sockfd events[i].data.fd; if ( sockfd 0 ) continue; n read(sockfd, buf, MAXLINE); if ( n 0) { // Connection Reset:你连接的那一端已经断开了 //而你却还试着在对方已断开的socketfd上读写数据 if (errno ECONNRESET) { Close(sockfd); events[i].data.fd -1; } else error_quit(read error); } //如果读入的数据为空 else if ( n 0 ) { Close(sockfd); events[i].data.fd -1; } else { //设置用于写操作的文件描述符和事件 ev.data.fd sockfd; ev.events EPOLLOUT|EPOLLET; //注册事件 Epoll_ctl(epfd,EPOLL_CTL_MOD,sockfd,ev); } } //如果有数据发送 else if(events[i].events EPOLLOUT) { sockfd events[i].data.fd; Writen(sockfd, buf, n); //设置用于读操作的文件描述符和事件 ev.data.fd sockfd; ev.events EPOLLIN|EPOLLET; //注册事件 Epoll_ctl(epfd, EPOLL_CTL_MOD, sockfd, ev); } } } return 0; } 客户端的测试例子 #include my_unp.h  void str_cli(FILE *fp, int sockfd)   {    char sendline[MAXLINE], recvline[MAXLINE];    int len; //从终端获取一行字符串将其写入套接字    //然后从套接字一行字符串将其写入终端    while( Fgets(sendline, MAXLINE, fp) ! NULL )    {     Writen(sockfd, sendline, strlen(sendline));     len Read(sockfd, recvline, MAXLINE);   if( len 0 )      error_quit(str_cli: server terminated prematurely);     recvline[len] 0;   Fputs(recvline, stdout);    }   }  int main(int argc, char **argv)   {    int sockfd;    struct sockaddr_in servaddr;    if( argc ! 2 )     error_quit(usage: client IPAddress);  //创建用于TCP协议的套接字    sockfd Socket(AF_INET, SOCK_STREAM, 0);    memset(servaddr, 0, sizeof(servaddr));    servaddr.sin_family AF_INET;    servaddr.sin_port htons(SERV_PORT);  //将程序的参数1(argv[1])转换成套接字地址结构    Inet_pton(AF_INET, argv[1], servaddr.sin_addr);    向服务器发起连接,连接成功后client_socket代表了客户机和服务器的一个socket连接    Connect(sockfd, (SA*)servaddr, sizeof(servaddr));  str_cli(stdin, sockfd);    return 0;   } 运行示例红色字体的为输入假设某个回射字符串的服务器已经启动 www.linuxidc.comubuntu:~/code$ gcc my_unp_v1.c client.c -o client www.linuxidc.comubuntu:~/code$ ./client 127.0.0.1 ABCD ABCD CtrlD
http://www.pierceye.com/news/428516/

相关文章:

  • 备案停止网站网站建设研究课题
  • 个人网站开发是学什么语言网站建设 总体思路
  • 网站怎么留住用户在什么地方可以接到做网站的活
  • jsp页面如何做网站pv统计wordpress4.7.10
  • 澄海网站建设用asp做网站怎么美观
  • 未满18岁能申请网站备案吗网站做qq链接
  • 网络公司网站开发互联网技术专业学什么
  • 校园网站建设详细的设计方案php网站开发实战
  • 网站设计广州量计价格网站可信度建设
  • 门业网站 源码做企业网站必须要座机吗
  • 广东网站开发推荐wordpress快速加载
  • php网站开发外包北京网站建设迈程网络
  • 微信开发者平台取消授权seo资源网站排名
  • 将网站源码下载下来如何使用网站seo链接购买
  • 可信网站认证必须做苏州那里可以建网站
  • 手机网站底部代码有名的网站建设
  • 做一个网站需要多长时间网站制作有哪些种类
  • 做微信推送的网站小刘网站建设
  • 18款禁用软件app网站入口台州网站推广排名
  • 网站的服务内容济南网站制作方案
  • 微网站模板 phpwordpress 支付宝
  • wordpress dux主题破解安装全屏网站 图片优化
  • 一键建站公司做网站 怎么做留言
  • 制作的网站西安网页设计培训哪里有
  • 株洲市住房和城乡建设局门户网站中国建设银行官网站大同
  • 北京响应式网站制作公司wordpress邀请码注册
  • 衡阳网站开发有哪些公司怎么建设淘客自己的网站、
  • 国内扁平化网站欣赏什么站做咨询网站好
  • 评价校园网站建设范例wordpress插件获取数据库
  • 网站开发具体问题重庆装修公司排名前十名