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

惠州市网站建设_网站建设公司_关键词排名_seo优化

快速网站备案,网站建设费用一年多少钱,个人怎么做网络推广,如何利用云服务器进行网站建设select#xff1a; 首先设置一个lfd绑定服务端地址结构#xff0c;用于监听新的连接。select函数调用#xff0c;用于对整个fd数组进行监听#xff0c;该数组最大限制1024#xff0c;通过遍历#xff0c;来确定是哪个fd有变化#xff1a; 1.如果是lfd#xff1a;那么可…select 首先设置一个lfd绑定服务端地址结构用于监听新的连接。select函数调用用于对整个fd数组进行监听该数组最大限制1024通过遍历来确定是哪个fd有变化 1.如果是lfd那么可能是新的连接进来就要调用accept阻塞监听获得这个新的连接将fd加入到数组中 2.其他fd有可能是需要断开连接也有可能是要有数据传输。 1.#include stdio.h 2.#include stdlib.h 3.#include unistd.h 4.#include string.h 5.#include arpa/inet.h 6.#include ctype.h 7. 8.#include wrap.h 9. 10.#define SERV_PORT 6666 11. 12.int main(int argc, char *argv[]) 13.{ 14. int i, j, n, nready; 15. 16. int maxfd 0; 17. 18. int listenfd, connfd; 19. 20. char buf[BUFSIZ]; /* #define INET_ADDRSTRLEN 16 */ 21. 22. struct sockaddr_in clie_addr, serv_addr; 23. socklen_t clie_addr_len; 24. 25. listenfd Socket(AF_INET, SOCK_STREAM, 0); 26. int opt 1; 27. setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, opt, sizeof(opt)); 28. bzero(serv_addr, sizeof(serv_addr)); 29. serv_addr.sin_family AF_INET; 30. serv_addr.sin_addr.s_addr htonl(INADDR_ANY); 31. serv_addr.sin_port htons(SERV_PORT); 32. Bind(listenfd, (struct sockaddr *)serv_addr, sizeof(serv_addr)); 33. Listen(listenfd, 128); 34. 35. 36. fd_set rset, allset; /* rset 读事件文件描述符集合 allset用来暂存 */ 37. 38. maxfd listenfd; 39. 40. FD_ZERO(allset); 41. FD_SET(listenfd, allset); /* 构造select监控文件描述符集 */ 42. 43. while (1) { 44. rset allset; /* 每次循环时都从新设置select监控信号集 */ 45. nready select(maxfd1, rset, NULL, NULL, NULL); 46. if (nready 0) 47. perr_exit(select error); 48. 49. if (FD_ISSET(listenfd, rset)) { /* 说明有新的客户端链接请求 */ 50. 51. clie_addr_len sizeof(clie_addr); 52. connfd Accept(listenfd, (struct sockaddr *)clie_addr, clie_addr_len); /* Accept 不会阻塞因为已经知道要有连接了所以直接连接 */ 53. 54. FD_SET(connfd, allset); /* 向监控文件描述符集合allset添加新的文件描述符connfd */ 55. 56. if (maxfd connfd) 57. maxfd connfd; 58. 59. if (0 --nready) /* 只有listenfd有事件, 后续的 for 不需执行 */ 60. continue; 61. } 62. 63. for (i listenfd1; i maxfd; i) { /* 检测哪个clients 有数据就绪 */ 64. 65. if (FD_ISSET(i, rset)) { 66. 67. if ((n Read(i, buf, sizeof(buf))) 0) { /* 当client关闭链接时,服务器端也关闭对应链接 */ 68. Close(i); 69. FD_CLR(i, allset); /* 解除select对此文件描述符的监控 */ 70. 71. } else if (n 0) { 72. 73. for (j 0; j n; j) 74. buf[j] toupper(buf[j]); 75. Write(i, buf, n); 76. } 77. } 78. } 79. } 80. 81. Close(listenfd); 82. 83. return 0;
http://www.lebaoying.cn/news/135355.html

相关文章:

  • 秦皇岛做网站公司排名网站开发作业代做
  • 南通网站建设机构专业网页设计培训
  • 外贸SOHO建公司网站自建网站做淘宝联盟
  • 自驾游自由行网站建设如何创建网站服务器地址
  • 网站建设采取招标的形式怎么做网页挣钱
  • 河北网站seo策划南昌网站设计
  • 网站建设未完成营销方案和销售思路
  • 网站广告推广公司怎么做自己的音乐网站
  • 南京网站建设咨询中山市网站开发
  • 郑州网站制百度关键词价格查询软件
  • 竞拍网站建设深圳网站建设行业新闻
  • 网站服务费算什么费用建设银行深分行圳招聘网站
  • 做网站实时数据用接口电影网站制作
  • 网站搜索栏建立wordpress 禁用响应式
  • 织梦网站搜索怎么做巴楚网站建设
  • 颜色选取网站成都住建局官网查询入口
  • 网站编程语言排行榜网站报301错误
  • 动易网站中添加邮箱中国最好的网站建设
  • 品牌微信网站建设网络营销简介
  • 财务公司网站源码庆阳网红刘斌
  • ios开发网站app网站建设营销外包公司排名
  • 网站展示模板psd下载湖北建设工程造价协会网站
  • 手机网站 微信小程序广州海珠区房价
  • 陕西网站建设价位多少做亚马逊学英语有什么网站吗
  • php开发网站后台专注邯郸建设手机网站
  • win8风格网站模板浙江建设监理协会网站
  • 论坛网站开发的目的和意义怎样用手机建个人网站
  • 太平建设公司官方网站wordpress 版权插件
  • 网站制作公司员工c9设计软件
  • 网站建设服务方案ppt模板wordpress网站的CDN设置