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

商务定制网站暴雪被收购

商务定制网站,暴雪被收购,成都公司网站建设,免建网站一.I/O复用 #xff08;一#xff09;基于I/O复用的服务器端 1.多进程服务器 每次服务都需要创建一个进程#xff0c;需要大量的运算和内存空间 2.复用 只需创建一个进程。 3.复用技术在服务器端的应用 #xff08;二#xff09;select函数实现服务器端 #xff08;…一.I/O复用 一基于I/O复用的服务器端 1.多进程服务器 每次服务都需要创建一个进程需要大量的运算和内存空间 2.复用 只需创建一个进程。 3.复用技术在服务器端的应用 二select函数实现服务器端 Linux和Windows平台下均有select函数所以具有良好移植性 1.select函数调用过程 2.select函数示例5秒内控制才没有输入就输出 Timeout 否则打印输入。 #includeiostream #includeunistd.h #includesys/time.h #includesys/select.h using namespace std; #define BUF_SIZE 30int main(int argc,char *argv[]){fd_set reads,temps;int result,str_len;//fd_set类型是一个文件描述符集合char buf[BUF_SIZE];//在这里声明了reads和temps两个集合用于I/O复用。struct timeval timeout;FD_ZERO(reads);//用于清空文件描述符集合。FD_SET(0,reads);//将标准输入文件描述符添加到集合中while(1){tempsreads;//在每次循环开始时将temps设置为上一次存有文件描述符的集合reads的副本。timeout.tv_sec5;//设置超时时间为5秒timeout.tv_usec0;resultselect(1,temps,0,0,timeout);调用select函数来等待可读事件就绪或超时发生。if(result-1){//第一个参数表示要监视的最大文件描述符值加1coutselect() errorendl;//第二个参数是指向待检查的文件描述符集合的指针break; //后面的三个参数是输出参数。}else if(result0)coutTime outendl;else{if(FD_ISSET(0,temps))//检查输入文件描述符是否就绪{str_lenread(0,buf,BUF_SIZE);buf[str_len]0;coutmessage from console: bufendl;}}//如果select函数返回-1表示出现了错误输出错误信息并跳出循环。//如果select函数返回0表示超时输出Time out。//如果select函数返回大于0的值表示文件描述符就绪。//这里通过FD_ISSET宏检查标准输入文件描述符是否在集合中就绪。//如果标准输入文件描述符就绪调用read函数读取输入内容并输出到控制台。}return 0; }3.实现I/O复用服务器端 #includeiostream #includestdlib.h #includestring.h #includeunistd.h #includearpa/inet.h #includesys/socket.h #includesys/time.h #includesys/select.h using namespace std;#define BUF_SIZE 100//宏定义了一个缓冲区大小为100的常量。 void error_handling(const char *buf);int main(int argc,char *argv[]){int serv_sock,clnt_sock;struct sockaddr_in serv_adr,clnt_adr;struct timeval timeout;fd_set reads,cpy_reads;socklen_t adr_sz;int fd_max,str_len,fd_num,i;char buf[BUF_SIZE];if(argc!2){coutUsageargv[0]endl;exit(1);}serv_socksocket(PF_INET,SOCK_STREAM,0);//创建套接字memset(serv_adr,0,sizeof(serv_adr));//将结构体清零serv_adr.sin_familyAF_INET;serv_adr.sin_addr.s_addrhtonl(INADDR_ANY);//设置服务器地址信息、IP地址和端口号serv_adr.sin_porthtons(atoi(argv[1]));if(bind(serv_sock,(struct sockaddr*)serv_adr,sizeof(serv_adr))-1)error_handling(bind() error); //将套接字和指定地址绑定if(listen(serv_sock,5)-1)//开始监听连接请求error_handling(listen() error);FD_ZERO(reads);//清空文件描述符集合FD_SET(serv_sock,reads);//将服务器套接字添加到reads集合中fd_maxserv_sock;//fd_max初始化为服务器套接字的值while(1){//进入主循环cpy_readsreads;//将reads集合复制过来timeout.tv_sec5;//超时时间timeout.tv_usec5000;if((fd_numselect(fd_max1,cpy_reads,0,0,timeout))-1)break; //监控文件描述符的状态变化if(fd_num0)continue;for(i0;ifd_max1;i){if(FD_ISSET(i,cpy_reads)){//检查文件描述符是否就绪if(iserv_sock){//如果是服务器套接字表示有新的客户端连接请求adr_szsizeof(clnt_adr);clnt_sockaccept(serv_sock,(struct sockaddr*)clnt_adr,adr_sz);FD_SET(clnt_sock,reads);if(fd_maxclnt_sock)fd_maxclnt_sock;coutconnect client: clnt_sockendl;}else{//如果不是服务器套接字表示已连接的客户端有数据发送过来str_lenread(i,buf,BUF_SIZE);if(str_len0){FD_CLR(i,reads);close(i);coutclosed clientiendl;}elsewrite(i,buf,str_len);}}}}close(serv_sock);return 0; }void error_handling(const char *buf){coutbufendl;exit(1); }三总结  1.请解释复用技术的通用含义并说明何为I/O复用。 复用技术指为了提高物理设备的效率用最少的物理要素传递最多数据时使用的技术。同样I/O复用是指将需要I/O的套接字捆绑在一起利用最少限度的资源来收发数据的技术。 2.多进程并发服务器的缺点有哪些如何在I/O复用服务器端中弥补 多进程并发服务器的服务方式是每当客户端提出连接要求时就会追加生成进程。但构建进程是一项非常有负担的工作因此向众多客户端提供服务存在一定的局限性。而复用服务器则是将套接字的文件描述符捆绑在一起管理的方式因此可以一个进程管理所有的I/O操作。 3.select函数的观察对象中应包含服务器端套接字监听套接字那么应将其包含到哪一类监听对象集合请说明原因 服务器套接字的作用是监听有无连接请求即判断接收的连接请求是否存在应该将其包含到“读”类监听对象的集合中。 4.select函数使用的fd_set结构体在Windows和Linux中具有不同的声明。请说明却别同时解释存在区别的必然性 Linux的文件描述符从0开始递增因此可以找出当前文件描述符数量和最后生成的文件描述符之间的关系。但Windows的套接字句柄并非从0开始并且句柄的整数值之间并无规律可循因此需要直接保存句柄的数组和记录句柄数的变量。
http://www.w-s-a.com/news/380661/

相关文章:

  • wordpress做门户seo培训价格
  • 百度关键词优化软件如何wordpress站点地图优化
  • 使用cnnic证书的网站营销公司有哪些
  • 做电子杂志用什么网站如何将网站生成二维码
  • 三点水网站建设洛阳市建设厅网站
  • 哪家做网站便宜网络推广培训吧
  • 网站怎么做支付非凡软件站
  • 北京谁会做网站开发熊岳网站怎么做
  • 南阳哪有做网站公司定制网站本地企业
  • 平板上做网站的软件邀约网站怎么做请柬
  • 企业网站成品源码邯郸做网站流程
  • 建设网站需要什么技术两个网站放在同一个服务器 备案
  • 焦作做网站推广天津网络关键词排名
  • siteserver cms网站访问量挂机宝可以做网站吗
  • 普宁网站建设公司网络商城设计
  • wordpress主题 外贸网站wordpress安装后输入帐号登不进去
  • 陕西省西安市建设局网站永登网站设计与建设
  • 广东网站设计招工.免费咨询贷款
  • 做试题网站在线做c 题的网站
  • 青岛发现51例阳性南京专业网站优化公司
  • 南昌建站如何上wordpress
  • 洛阳网站建设优惠公司建筑企业上市公司有哪些
  • 营销型网站建设营销型网站建设手机网站设计需要学什么
  • 在线视频网站 一级做爰片南通网站建设找哪家
  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度