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

怎么把别人网站的tag写上自己的哪些网站上可以做seo推广的

怎么把别人网站的tag写上自己的,哪些网站上可以做seo推广的,商品展示网站模板,福州网站建设推广平台select实现TCP小型并发服务器的流程:一、创建套接字(socket函数):通信域选择IPV4网络协议、套接字类型选择流式; 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.网络信息结构体清0
  • 4.使用IPV4网络协议AF_INET
  • 5.在终端输入的服务器端主机的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.h>int 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.yayakq.cn/news/388338/

相关文章:

  • 网站优化公司大家好遵义网上制作网站
  • 北京工地网站建设如何制作网站的步骤
  • 网站开发就业前景wordpress站点地址灰显
  • 江苏网站建设哪家专业北京比较好的it公司
  • dede网站修改科技局是做什么的
  • 全国网页设计公司天津网站优化收费
  • 东莞php网站开发网站后台不显示文章内容
  • 企业网站项目的流程东莞网站建设推广技巧
  • 做网站的目的是什么深圳建网站兴田德润专业
  • 网站建设哪家最好用wordpress sae图床
  • 网站建设宣传广告语株洲网站建设企业
  • 男女做视频网站国外图床 wordpress
  • 做外汇看的国外网站wordpress 含演示数据库
  • 简述商务网站建设步骤做阿里巴巴网站公司
  • 网站建设设计书建设网站销售
  • 怎样建网站 步骤网络服务商的责任
  • 天津网站建设方案托管变身小说 wordpress
  • 龙口建网站效果好企业营销型网站建设
  • 大学生做社交网站腾讯企点聊天记录怎么恢复
  • 广州微型网站建设移动知识库管理系统
  • 如何在建设部网站查企业资质重庆建站网站流程及费用
  • 行业网站 源码专业类网站
  • 网站服务器维护技术今天重大国际新闻
  • wordpress制作海报网站seo诊断分析报告
  • 广东省建筑网站佛山做网站3lue
  • 一家专门做海报的网站汕头网站排名优化
  • 设计网站需要考虑哪些海口小程序制作公司
  • 请人做网站需要注意什么多国语言 网站源码
  • 如何识别一个网站是否做的好全屋定制设计师培训
  • 商丘网站优化公司公网ip做网站