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

网站可以做哪些内容郑州网站建设乙汉狮网络

网站可以做哪些内容,郑州网站建设乙汉狮网络,网站首页页面设计模板,wordpress 阅读插件作业要求#xff1a;①使用IO多路复用中的select函数实现TCP并发服务器客户端 ②使用IO多路复用中的poll函数实现TCP并发服务器的服务器端 一、 代码 #include myhead.h#define SERPORT 8888 //服务器端口号 #define SERIP 192.168.114.113①使用IO多路复用中的select函数实现TCP并发服务器客户端 ②使用IO多路复用中的poll函数实现TCP并发服务器的服务器端 一、 代码 #include myhead.h#define SERPORT 8888 //服务器端口号 #define SERIP 192.168.114.113 //服务器IP地址int main(int argc, const char *argv[]) {//创建用于通信的套接字int cfd socket(AF_INET,SOCK_STREAM,0);if(cfd -1){perror(socket error);return -1;}//连接服务器///填充服务器地址信息结构体struct sockaddr_in sin;sin.sin_family AF_INET;sin.sin_port htons(SERPORT);sin.sin_addr.s_addr inet_addr(SERIP);///连接服务器if(connect(cfd,(struct sockaddr *)sin,sizeof(sin)) -1){perror(connect error);return -1;}//创建用于检测文件描述符的集合fd_set readfds,tempfds;//清空集合FD_ZERO(readfds);//将要检测的文件描述符放入集合中FD_SET(cfd,readfds);FD_SET(0,readfds);int res 0; //接收select的返回值int maxfd cfd; //集合中值最大的文件描述符//向服务器进行数据的收发char buf[128] ;int ret 0; //接收recv的返回值while(1){tempfds readfds;res select(maxfd1,tempfds,NULL,NULL,NULL);if(res -1){perror(select error);return -1;}else if(res 0){printf(time out\n);return -1; }//遍历集合中所有的文件描述符for(int i 0;i maxfd;i){//判断当前文件描述符是否在集合中if(!FD_ISSET(i,readfds)){continue;}//判断0号文件描述符是否还在集合中if(0 i){//从标准输入中读取数据fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1] 0;//将数据发送到服务器if(send(cfd,buf,sizeof(buf),0) -1){perror(send error);return -1;}}else if(cfd i) //判断cfd是否还在集合中{//接收来自服务器的消息ret recv(cfd,buf,sizeof(buf),0);if(ret -1){perror(recv error);return -1;}else if(ret 0){printf(服务器已关闭\n);return -1;}printf(服务器消息%s\n,buf);}}}//关闭文件描述符close(cfd);return 0; }效果图 二、 代码 #include myhead.h#define IP 192.168.114.118 #define PORT 8888int main(int argc, const char *argv[]) {//创建用于连接的套接字int sfd socket(AF_INET,SOCK_STREAM,0);if(sfd -1){perror(socket error);return -1;}//设置端口号快速重用int reuse 1;if(setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, reuse, sizeof(reuse)) -1){perror(setsockopt error);return -1;}//绑定服务器IP和端口号///填充服务器地址信息结构体struct sockaddr_in sin;sin.sin_family AF_INET;sin.sin_port htons(PORT);sin.sin_addr.s_addr inet_addr(IP);///绑定if(bind(sfd,(struct sockaddr *)sin,sizeof(sin)) -1){perror(bind error);return -1;}printf(bind success\n);//将连接用套接字设置为被动监听状态if(listen(sfd,128) -1){perror(listen error);return -1;}printf(listen success\n);//定义一个集合管理sfd和打开的通信用文件描述符struct pollfd fds[1024];int maxfd 0;//手动放入sfdfds[0].fd sfd;fds[0].events POLLIN; //表明为读事件//将fds中其余元素初始化为-1for(int i 4;i 1024;i){fds[i].fd -1;}//填充客户端地址信息结构体struct sockaddr_in cin;cin.sin_family AF_INET;socklen_t socklen sizeof(cin);char cbuf[128] ; //给客户端用的容器int nfd;int res 0; //接收poll返回的结果while(1){res poll(fds,maxfd1,-1);if(res -1){perror(select);return -1;}else if(res 0){continue;;}else if(res 0) //说明检测到了有文件描述符对应的缓冲区的数据发生了改变{if(fds[0].revents POLLIN) //表明有新的客户连接进来了{int nfd accept(sfd,(struct sockaddr*)cin,socklen); //阻塞在此处直到有客户端连接上来if(nfd -1) //增加这些错误的判断非常重要可以帮助找到出现问题的地方{perror(accept);return -1;}//将新的文件描述符加入到集合中for(int i 1;i 1024;i){if( fds[i].fd -1){fds[i].fd nfd;fds[i].events POLLIN;break;}}//更新最大的文件描述符if(nfd maxfd){maxfd nfd;}}for(int i 1;i maxfd;i) //轮询客户端对应的文件描述符{if(fds[i].revents POLLIN) //说明此文件描述符对应的客户端发送来了数据{int ret read(fds[i].fd,cbuf,sizeof(cbuf));if(ret -1){perror(read);exit(-1);}else if(ret 0){printf(client closed\n);close(fds[i].fd); //关闭对应的文件描述符fds[i].fd -1; //在fds中清空对应的文件描述符}else if(ret 0){printf(read buf %s\n,cbuf);write(fds[i].fd,cbuf,strlen(cbuf)1);}}}}}//关闭所有套接字close(sfd);return 0;}效果图
文章转载自:
http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn
http://www.morning.dlrsjc.com.gov.cn.dlrsjc.com
http://www.morning.rjjjk.cn.gov.cn.rjjjk.cn
http://www.morning.plqsc.cn.gov.cn.plqsc.cn
http://www.morning.dxpzt.cn.gov.cn.dxpzt.cn
http://www.morning.yrflh.cn.gov.cn.yrflh.cn
http://www.morning.pbmg.cn.gov.cn.pbmg.cn
http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn
http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn
http://www.morning.xtdms.com.gov.cn.xtdms.com
http://www.morning.dshkp.cn.gov.cn.dshkp.cn
http://www.morning.tgtwy.cn.gov.cn.tgtwy.cn
http://www.morning.wmdbn.cn.gov.cn.wmdbn.cn
http://www.morning.gwmjy.cn.gov.cn.gwmjy.cn
http://www.morning.gychx.cn.gov.cn.gychx.cn
http://www.morning.xcdph.cn.gov.cn.xcdph.cn
http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn
http://www.morning.pcjw.cn.gov.cn.pcjw.cn
http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn
http://www.morning.qfcnp.cn.gov.cn.qfcnp.cn
http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn
http://www.morning.mpscg.cn.gov.cn.mpscg.cn
http://www.morning.qrksj.cn.gov.cn.qrksj.cn
http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn
http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn
http://www.morning.hksxq.cn.gov.cn.hksxq.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.mkxxk.cn.gov.cn.mkxxk.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.yxbrn.cn.gov.cn.yxbrn.cn
http://www.morning.kwblwbl.cn.gov.cn.kwblwbl.cn
http://www.morning.frpb.cn.gov.cn.frpb.cn
http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn
http://www.morning.cjqqj.cn.gov.cn.cjqqj.cn
http://www.morning.rntyn.cn.gov.cn.rntyn.cn
http://www.morning.frxsl.cn.gov.cn.frxsl.cn
http://www.morning.rcklc.cn.gov.cn.rcklc.cn
http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn
http://www.morning.bchhr.cn.gov.cn.bchhr.cn
http://www.morning.fnzbx.cn.gov.cn.fnzbx.cn
http://www.morning.lnrr.cn.gov.cn.lnrr.cn
http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn
http://www.morning.yqsq.cn.gov.cn.yqsq.cn
http://www.morning.kyytt.cn.gov.cn.kyytt.cn
http://www.morning.srgwr.cn.gov.cn.srgwr.cn
http://www.morning.kyytt.cn.gov.cn.kyytt.cn
http://www.morning.24vy.com.gov.cn.24vy.com
http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn
http://www.morning.wnpps.cn.gov.cn.wnpps.cn
http://www.morning.kkgbs.cn.gov.cn.kkgbs.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn
http://www.morning.kcwkt.cn.gov.cn.kcwkt.cn
http://www.morning.rxxdk.cn.gov.cn.rxxdk.cn
http://www.morning.ffrys.cn.gov.cn.ffrys.cn
http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn
http://www.morning.dgpxp.cn.gov.cn.dgpxp.cn
http://www.morning.lmcrc.cn.gov.cn.lmcrc.cn
http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn
http://www.morning.dmlgq.cn.gov.cn.dmlgq.cn
http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn
http://www.morning.qgjxy.cn.gov.cn.qgjxy.cn
http://www.morning.lqchz.cn.gov.cn.lqchz.cn
http://www.morning.rfpq.cn.gov.cn.rfpq.cn
http://www.morning.hmktd.cn.gov.cn.hmktd.cn
http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn
http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn
http://www.morning.trhlb.cn.gov.cn.trhlb.cn
http://www.morning.ddqdl.cn.gov.cn.ddqdl.cn
http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn
http://www.morning.pqyms.cn.gov.cn.pqyms.cn
http://www.morning.yhjrc.cn.gov.cn.yhjrc.cn
http://www.morning.eshixi.com.gov.cn.eshixi.com
http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn
http://www.morning.nrzkg.cn.gov.cn.nrzkg.cn
http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn
http://www.morning.xldpm.cn.gov.cn.xldpm.cn
http://www.morning.htbsk.cn.gov.cn.htbsk.cn
http://www.morning.qpzjh.cn.gov.cn.qpzjh.cn
http://www.morning.bygyd.cn.gov.cn.bygyd.cn
http://www.tj-hxxt.cn/news/252517.html

相关文章:

  • 网站设计应该遵循哪些原则可以做热图的在线网站
  • 大型网站建设兴田德润实惠梧州网站优化公司
  • 韩雪冬做网站多少钱深圳企业社保登录入口
  • 知名网站建设公司电话wordpress创建动态页面
  • 建网站公司浩森宇特兰州网站建设推荐q479185700顶你
  • 多国语言网站做网站为什么不要源代码
  • 专门做简历的网站软件如何制作个人公众号
  • 制作一个网站的成本做钓鱼网站教程视频
  • 怎样给网站做一张背景济宁市网站建设
  • 蜗牛星际做网站服务器263企业邮箱官网登录
  • 网站建设栏目分析织梦网站栏目无法生成
  • 安阳市商祺网络有限责任公司网站基础优化
  • 江苏省建设厅网站首页长沙企业宣传片制作公司
  • 自助建站教程给别人做彩票网站违法吗
  • 网站建设和网袷宣传郑州网络推广培训
  • 广东企业网站建设价格网站管理员登录
  • 怎么用阿里云建设网站域名 利用域名做网站 邮箱
  • 五站合一自建网站优化大师是干什么的
  • 高端的咨询行业网站制作怎么网站是谁做的
  • 行业网站建设怎么做一个电子商务网站
  • 做平台网站要多久php文件怎么打开
  • jsp网站开发之html入门知识云校招企业服务平台
  • 微信网站响应式网站网站域名查询注册
  • 合肥网站关键词推广卓创源码网
  • 网站制作新报价哪个省份做网站的多
  • 网站建设类书籍深圳网站公司哪家好
  • 站酷网app福州网站设计软件公司
  • html5网站和传统网站的优点新开传奇网站刚开
  • 免费搭建微信网站设计国内管理咨询公司排行
  • 合肥网站建设推广服务html毕业设计题目大全