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

如何提高网站排名做外贸的网站平台有哪些

如何提高网站排名,做外贸的网站平台有哪些,wordpress 标签 图片,网站建设的思路select实现TCP小型并发服务器的流程#xff1a;一、创建套接字#xff08;socket函数#xff09;#xff1a;通信域选择IPV4网络协议、套接字类型选择流式#xff1b; int sockfd socket(AF_INET,SOCK_STREAM,0); //通信域选择IPV4、套接字类型选择流式二、填充服务器的网…select实现TCP小型并发服务器的流程一、创建套接字socket函数通信域选择IPV4网络协议、套接字类型选择流式 int sockfd socket(AF_INET,SOCK_STREAM,0); //通信域选择IPV4、套接字类型选择流式二、填充服务器的网络信息结构体1.定义网络信息结构体变量2.求出网络信息结构体变量的内存空间大小以作备用3.网络信息结构体清04.使用IPV4网络协议AF_INET5.在终端输入的服务器端主机的IP地址inet_addr(argv[1])6.在终端输入的服务器端网络字节序的端口号htons(atoi(argv[2])) struct sockaddr_in serveraddr; //定义网络信息结构体变量socklen_t serveraddrlen sizeof(serveraddr);//求出结构体变量的内存空间大小memset(serveraddr,0,serveraddrlen); //结构体清零serveraddr.sin_family AF_INET; //使用IPV4网络协议serveraddr.sin_addr.s_addr inet_addr(argv[1]); //IP地址serveraddr.sin_port htons(atoi(argv[2]));//网络字节序的端口号三、套接字和服务器的网络信息结构体进行绑定bind函数 int ret bind(sockfd,(struct sockaddr *)serveraddr,serveraddrlen);四、套接字设置成被动监听listen函数 int ret1 listen(sockfd, 5);五、创建要监听的文件描述符集合使用select函数后会将没有就绪的文件描述符在集合中去除所以需要创建两个文件描述符集合一个是母本read_fds类似于常量保持不变而另一个作为副本read_fds_t类似于变量可以改变 fd_set read_fds;FD_ZERO(read_fds);fd_set read_fds_t;FD_ZERO(read_fds_t);六、把创建的套接字添加到要监视的集合中 FD_SET(sockfd,read_fds);int fd_max 0;fd_max fd_max sockfd ? fd_max : sockfd;七、设置系统时间结构体变量用来指定超时的时间 struct timeval tm_out;八、等待文件描述符中的事件是否就绪成功则返回就绪的文件描述符的个数select函数select函数 #include sys/select.hint select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);/*参数nfds 要监视的最大文件描述符1readfds 要监视的读文件描述符集合 不关心可以传NULLwritefds 要监视的写文件描述符集合 不关心可以传NULLexceptfds 要监视的异常文件描述符集合 不关心可以传NULLtimeout 超时时间 如果设置成NULL 会一直阻塞 直到有文件描述符就绪返回值成功 就绪的文件描述符的个数超时 0失败 -1 重置错误码*///struct timeval 可以指定超时时间//如果结构体的两个成员都为0 表示非阻塞struct timeval {long tv_sec; //秒 long tv_usec; //微秒};void FD_CLR(int fd, fd_set *set); //将文件描述符在集合中删除int FD_ISSET(int fd, fd_set *set); //判断文件描述符是否还在集合中// 返回0 表示不在了 非0 表示在void FD_SET(int fd, fd_set *set); //向集合中添加一个文件描述符void FD_ZERO(fd_set *set); //清空集合 if(-1 (ret select(fd_max 1,read_fds_t,NULL,NULL,tm_out))){perror(select error);exit(-1);}else if(0 ret){puts(timeout!!!!!);putchar(\n);continue;}九、遍历文件描述符集合判断哪些文件描述符已经准备就绪 for(int i 3; i fd_max 1 0 ! ret; i){...}十、判断文件描述符是否还在集合中并且接收来自客户端的数据recv函数和给客户端发送应答消息send函数 if(FD_ISSET(i,read_fds_t)){//说明有新的客户端连接服务器if(i sockfd){ if(-1 (accept_fd accept(sockfd,NULL,NULL))){perror(accept error);exit(-1);}printf(客户端[%d]连接到服务器\n,accept_fd);//将新连接的客户端的套接字添加到要监视的集合中FD_SET(accept_fd,read_fds);fd_max fd_max accept_fd ? fd_max : accept_fd;}else //之前连接的客户端在向服务器发送信息{memset(buf,0,sizeof(buf));if(-1 (nbytes recv(i,buf,sizeof(buf),0))){perror(recv error);exit(-1);}else if(0 nbytes){printf(客户端[%d]已断开连接\n,i);//将已断开连接客户端的套接字在文件描述符集合中剔除FD_CLR(i,read_fds);//关闭套接字close(i);continue;}if(!strncmp(buf,quit,4)){printf(客户端[%d]已退出\n,i);//将已断开连接客户端的套接字在文件描述符集合中剔除FD_CLR(i,read_fds);//关闭套接字close(i);continue;}printf(客户端[%d]发来信息[%s]\n,i,buf);//组装应答消息strcat(buf,----------k);//给客户端发送应答消息if(-1 send(i,buf,sizeof(buf),0)){perror(send error);exit(-1);}}ret--; //减少遍历次数}十一、关闭套接字close函数 close(sockfd);
http://www.dnsts.com.cn/news/251227.html

相关文章:

  • 精美的商城网站介绍设计页面教案
  • 武义建设局网站网站建设职能
  • 那个网站可教做课件好网站开发策划方案
  • 什么网站可以申请做汉语老师全国大型教育集团网站建设
  • 小米商城网站建设分析cfensi.wordpress
  • wordpress无法启动东莞seo计费
  • 要加强分院网站建设网站搭建是哪个岗位做的事儿
  • 专业网站开发方案苏州市建设交通高等学校网站
  • 好的开源网站商丘建设网站
  • ui设计网站开发淮安网站设计公司
  • 网站开发环境是什么意思公司网站购物平台建设
  • 济南网站建设优化熊掌号福州如何做百度的网站
  • 视频网站注册网站的公司名字
  • 则么做网站wordpress中链接显示不对题
  • 电商网站开发工作计划软件定制公司设计方案
  • 深圳常平网站建设制作公司如何在家里做网站
  • 视频发布网站有哪些内容电影资源网站建设
  • wordpress仿站教程+vip网站建设实务课本
  • 建站系统软件有哪些logo设计公司在线生成
  • 南京最好的网站设计公司南昌地宝网租房信息
  • 宁波自助建站公司百度影音在线电影
  • 类似58同城分类信息网站开发做网站要用到ps吗
  • 水果电商网站开发方案怎样更新网站文章
  • “设计网站”河南推广网站
  • 佛山专业网站建设的公司很大气的网站 营销
  • 网站装修怎么做织梦模板如何安装
  • 给个网站最新的2021塑料机械网站建设
  • 快速做网站费用十大免费云空间
  • 宝坻做网站html网页设计期末考试
  • 学习做网站建设的学校网站建设研究背景