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

网销的网站建设与管理信用信息查询公示系统

网销的网站建设与管理,信用信息查询公示系统,求免费的那种网站有哪些,附近临时工200元一天文章目录 1.poll系统调用的作用2.poll的原型3.poll支持的事件类型4.poll实现TCP服务器(1)服务器端代码:(2)客户端代码:(3)运行结果截图: 1.poll系统调用的作用 poll 系统调用和 select 类似#xff0c;也是在指定时间内轮询一定数量的文件描述符#xff0c;以测试其中是否有… 文章目录 1.poll系统调用的作用2.poll的原型3.poll支持的事件类型4.poll实现TCP服务器(1)服务器端代码:(2)客户端代码:(3)运行结果截图: 1.poll系统调用的作用 poll 系统调用和 select 类似也是在指定时间内轮询一定数量的文件描述符以测试其中是否有就绪者。 2.poll的原型 #include poll.h int poll(struct pollfd *fds, nfds_t nfds, int timeout); poll 系统调用成功返回就绪文件描述符的总数超时返回 0失败返回-1 nfds 参数指定被监听事件集合 fds 的大小。 timeout 参数指定 poll 的超时值单位是毫秒timeout 为-1 时poll 调用将永久阻塞直到某个事件发生timeout 为 0 时poll 调用将立即返回。 fds 参数是一个 struct pollfd 结构类型的数组它指定所有用户感兴趣的文件描述符上发生的可读、可写和异常等事件。pollfd 结构体定义如下 struct pollfd { int fd; // 文件描述符 short events; // 注册的关注事件类型 short revents; // 实际发生的事件类型由内核填充 }; 其中fd 成员指定文件描述符events 成员告诉 poll 监听 fd 上的哪些事件类型。 它是一系列事件的按位或revents 成员则有内核修改通知应用程序 fd 上实际发生了哪些事件。poll 支持的事件类型如下 3.poll支持的事件类型 4.poll实现TCP服务器 (1)服务器端代码: #includestdio.h #includeunistd.h #includestdlib.h #includepthread.h #includestring.h #includearpa/inet.h #includenetinet/in.h #includesys/select.h #includesys/socket.h #includepoll.h#define MAXFD 10 int socket_init(); int accept_client(int sockfd); void fds_init(struct pollfd fds[]); void fds_add(int fd,struct pollfd fds[]); void fds_del(int fd,struct pollfd fds[]); void recv_data(int c,struct pollfd fds[]); int main() {int sockfdsocket_init();if(sockfd-1){exit(0);}struct pollfd fds[MAXFD];fds_init(fds);fds_add(sockfd,fds);//sockfd-fdwhile(1){int npoll(fds,MAXFD,5000);if(n-1){printf(poll error\n);}if(n0){printf(time out\n);}else{for(int i0;iMAXFD;i){if(fds[i].fd-1){continue;}if(fds[i].revents POLLIN){if(fds[i].fd sockfd){int caccept_client(sockfd);if(c!-1){fds_add(c,fds);}}else{recv_data(fds[i].fd,fds);}}}}}}int socket_init() {int sockfdsocket(AF_INET,SOCK_STREAM,0);if(sockfd-1){return -1;}struct sockaddr_in saddr;memset(saddr,0,sizeof(saddr));saddr.sin_familyAF_INET;saddr.sin_porthtons(5678);saddr.sin_addr.s_addrinet_addr(127.0.0.1);int resbind(sockfd,(struct sockaddr*)saddr,sizeof(saddr));if(res-1){printf(bind error\n);return -1;}reslisten(sockfd,5);if(res-1){return -1;}return sockfd; } int accept_client(int sockfd) {struct sockaddr_in caddr;int lensizeof(caddr);int caccept(sockfd,(struct sockaddr*)caddr,len);return c; }void fds_init(struct pollfd fds[]) {for(int i0;iMAXFD;i){fds[i].fd-1;fds[i].events0;fds[i].revents0;} }void fds_add(int fd,struct pollfd fds[]) {for(int i0;iMAXFD;i){if(fds[i].fd-1){fds[i].fdfd;fds[i].eventsPOLLIN;fds[i].revents0;break;}} }void fds_del(int fd,struct pollfd fds[]) {for(int i0;iMAXFD;i){if(fds[i].fdfd){fds[i].fd-1;fds[i].events0;fds[i].revents0;break;}} }void recv_data(int c,struct pollfd fds[]) {char buff[128];int nrecv(c,buff,127,0);if(n0){close(c);fds_del(c,fds);printf(client close\n);return ;}printf(recv:%s\n,buff);send(c,ok,2,0); }(2)客户端代码: #includestdio.h #includeunistd.h #includestdlib.h #includestring.h #includesys/socket.h #includearpa/inet.h #includenetinet/in.hint socket_init();int main() {int sockfdsocket_init();if(sockfd-1){exit(0);}while(1){printf(input:);char buff[128]{0}; fgets(buff,127,stdin);if(strncmp(buff,end,3)0){break;}send(sockfd,buff,strlen(buff)-1,0);memset(buff,0,128);recv(sockfd,buff,127,0);printf(read:%s\n,buff);}close(sockfd);exit(0);}int socket_init() {int sockfdsocket(AF_INET,SOCK_STREAM,0);//tcp流式服务if(sockfd-1){printf(socket errror\n);return -1;}struct sockaddr_in saddr;memset(saddr,0,sizeof(saddr));saddr.sin_familyAF_INET;saddr.sin_porthtons(5678);saddr.sin_addr.s_addrinet_addr(127.0.0.1);int resconnect(sockfd,(struct sockaddr*)saddr,sizeof(saddr));if(res-1){printf(connect error\n);return -1;}return sockfd; }(3)运行结果截图:
http://www.hkea.cn/news/14330808/

相关文章:

  • 传统网站建设架构什么是百度快照
  • 怎样建设与维护自己的平台网站海南疾控发布问卷调查
  • 网站开发属于什么软件网站后台漏洞
  • 游戏交易网站开发公司建设网站需要什么条件
  • 服装设计以及网页设计素材廊坊seo技巧
  • 买书的网站排名体育评论做的好的网站
  • 南山-网站建设信科网络大数据平台建站
  • 网站建设 jsp php东莞网站建设58
  • 北京自助建站软件网站开发基本流程
  • 手机建站专家深圳app网站
  • 购物网站如何建设网站建设文化渠道
  • 快速开发企业网站一家公司可以做几个网站
  • 荣泰建设集团网站中小企业建站系统
  • 吉安网站公司网站推广策划思路是什么
  • 长垣有做网站设计的吗sem优化师是什么意思
  • 网站转换模块怎么做免费网页域名申请
  • 几何背景生成器网站阿里巴巴国际站怎么网站建设
  • 目前最好的网站建设企业网站开发维护运维
  • 厦门市建设工程在哪备案网站网站地图类型
  • 怎么为自己的厂做网站站长资源平台
  • 图书网站开发的实践意义深圳建设集团有限公司好吗
  • 大庆网站优化成都响应网站建设
  • 小说网站论文摘要网店图片怎么制作
  • 建材行业网站建设用旧技术做网站能过毕设么知乎
  • wordpress阅读最多插件湖南seo推广系统
  • 在百度上免费做网站页面网站开发主管岗位说明
  • 网站开发综合实训总结网页微信版网址
  • 怎么在网上做公司网站廊坊网站建设制作
  • 韩城建设局网站东莞网络公司代理
  • 遵化建设局网站wordpress 单 中