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

做第三方seo优化网站上海推广服务

做第三方seo优化网站,上海推广服务,网站公司建设都招聘那些职位,坪山网站建设特色TCP与UDP的区别 1、基于连接与无连接 2、对系统资源的要求#xff08;TCP较多#xff0c;UDP少#xff09;3、UDP程序结构较简单 流模式与数据报模式 4、TCP保证数据正确性#xff0c;UDP可能丢包 5、TCP保证数据顺序#xff0c;UDP不保证具体编程时的区别 1、socket()的参… TCP与UDP的区别 1、基于连接与无连接 2、对系统资源的要求TCP较多UDP少 3、UDP程序结构较简单 流模式与数据报模式 4、TCP保证数据正确性UDP可能丢包 5、TCP保证数据顺序UDP不保证 具体编程时的区别 1、socket()的参数不同 2、UDP Server不需要调用listen和accept 3、 UDP收发数据用sendto/recvfrom函数 TCP地址信息在connect/accept时确定 UDP在sendto/recvfrom函数中每次均 需指定地址信息 UDPshutdown函数无效 部分满足以下几点要求时应该采用UDP 面向数据报方式 1、网络数据大多为短消息 2、拥有大量Client 对数据安全性无特殊要求 3、 网络负担非常重但对响应速度要求高 4、UDP协议是不可靠的网络协议它在通信两端各建立一个Socket,但是这两个Socket之间没有虚拟链路这两个Socket只负责发送和接收数据报的对象! 例子ICQ、ping    面向连接的TCP的流方式 服务器程序流程多进程 1、程序初始化 2、填写本机地址信息 3、绑定并监听一个固定的端口 4、收到Client的连接后建立一个socket连接 产生一个新的进程与Client进行通信和信息处理 5、子通信结束后中断与Client的连接 客户端程序流程 1、程序初始化 2、填写服务器地址信息 3、 连接服务器 4、与服务器通信和信息处理 5、通信结束后断开连接 服务器代码 #include stdio.h #include stdlib.h #include errno.h #include string.h #include sys/types.h #include netinet/in.h #include sys/socket.h #include sys/wait.h #define MYPORT 3490                 #define BACKLOG 10                 void main() { int sockfd, new_fd;             struct sockaddr_in sa;   //本机地址      struct sockaddr_in their_addr;//远程地址 int sin_size; if ((sockfd socket(AF_INET, SOCK_STREAM, 0)) -1) { perror(socket); exit(1); } sa.sin_family AF_INET; sa.sin_port htons(MYPORT);         sa.sin_addr.s_addr INADDR_ANY;     bzero((sa.sin_zero), 8);             if (bind(sockfd, (struct sockaddr *)sa, sizeof(sa)) -1) { perror(bind); exit(1); } if (listen(sockfd, BACKLOG) -1) { perror(listen); exit(1); }   while(1) { sin_size sizeof(struct sockaddr_in); new_fd accept(sockfd, (struct sockaddr *)their_addr, sin_size)) if (new_fd -1) { perror(accept); continue; } printf(”Got connection from %sn, inet_ntoa(their_addr.sin_addr)); if (fork() 0) {   if (send(new_fd, Hello, world! n, 14, 0) -1) perror(send); close(new_fd); exit(0); } close(new_fd);   while(waitpid(-1,NULL,WNOHANG) 0); } }     客户端代码 #include stdio.h #include stdlib.h #include errno.h #include string.h #include netdb.h #include sys/types.h #include netinet/in.h #include sys/socket.h #define PORT 3490 #define MAXDATASIZE 100 int main(int argc, char *argv[]) { int sockfd, numbytes; char buf[MAXDATASIZE]; struct hostent *he; struct sockaddr_in their_addr;//服务器地址 if (argc ! 2) { fprintf(stderr,usage: client hostnamen); exit(1); }   if ((hegethostbyname(argv[1])) NULL) {   herror(gethostbyname); exit(1); } if ((sockfdsocket(AF_INET,SOCK_STREAM,0))-1) { perror(socket); exit(1); } their_addr.sin_family AF_INET; their_addr.sin_port htons(PORT); their_addr.sin_addr *((struct in_addr *)he-h_addr); bzero((their_addr.sin_zero), 8); if (connect(sockfd, (struct sockaddr *)their_addr, sizeof(struct sockaddr)) -1) { perror(connect); exit(1); } if ((numbytesrecv(sockfd,buf,MAXDATASIZE,0))-1) { perror(recv); exit(1); } buf[numbytes] ; printf(Received: %s,buf); close(sockfd); return 0; }     服务器程序流程单进程 1、程序初始化 2、填写本机地址信息 3、绑定一个固定的端口 3、收到Client的数据报后进行处理与通信 4、通信结束后断开连接 客户端程序流程 1、程序初始化 2、填写服务器地址信息 3、连接服务器 与服务器通信和信息处理 //发送报文的方式建立与服务器的联系 4、通信结束后断开连接 UDP方式下服务器与客户端程序差别不大仅第三步不同。   服务器 #include stdio.h #include stdlib.h #include errno.h #include string.h #include sys/types.h #include netinet/in.h #include sys/socket.h #include sys/wait.h #define MYPORT 3490 void main() { int sockfd; struct sockaddr_in my_addr; struct sockaddr_in their_addr; int sin_size, retval; char buf[128]; if ((sockfd socket(AF_INET, SOCK_DGRAM, 0)) -1) { perror(socket); exit(1); } my_addr.sin_family AF_INET; my_addr.sin_port htons(MYPORT); my_addr.sin_addr.s_addr INADDR_ANY; bzero((my_addr.sin_zero), 8); if (bind(sockfd, (struct sockaddr *)my_addr, sizeof(my_addr)) -1) { perror(bind); exit(1); }   while(1) { retval recvfrom(sockfd, buf, 128, 0, (struct sockaddr *)their_addr, sin_size);//获取远程主机的报文并解析 printf(Received datagram from %sn,inet_ntoa(their_addr.sin_addr)); if (retval 0) { perror (“recvfrom); close(sockfd); break; } retval sendto(sockfd, buf, 128, 0, (struct sockaddr *)their_addr, sin_size); } }   客户端 #include stdio.h #include stdlib.h #include errno.h #include string.h #include netdb.h #include sys/types.h #include netinet/in.h #include sys/socket.h #define PORT 3490 #define MAXDATASIZE 100 int main(int argc, char *argv[]) { int sockfd, numbytes, sin_size; char buf[MAXDATASIZE] “Hello, world!”; struct hostent *he; // struct sockaddr_in their_addr;//服务器地址 if (argc ! 2) { fprintf(stderr,usage: client hostnamen); exit(1); }   if ((hegethostbyname(argv[1])) NULL) { herror(gethostbyname); exit(1); } if ((sockfdsocket(AF_INET,SOCK_DGRAM,0))-1) { perror(socket); exit(1); } their_addr.sin_family AF_INET; their_addr.sin_port htons(PORT); their_addr.sin_addr *((struct in_addr *)he-h_addr); bzero((their_addr.sin_zero), 8); numbytes sendto(sockfd, buf, MAXDATASIZE, 0, (struct sockaddr *)their_addr,sizeof(their_addr))//向服务器发送任一报文 if (numbytes -1) { perror(“sendto); exit(1); } printf(“Send: %s,buf); numbytes recvfrom(sockfd, buf, MAXDATASIZE, 0, (struct sockaddr *)their_addr, sin_size); if (numbytes -1) { perror(recvfrom); exit(1); } buf[numbytes] ; printf(Received: %s,buf); close(sockfd); return 0; }
http://www.zqtcl.cn/news/302579/

相关文章:

  • 网站制作价钱多少专业的咨询行业网站制作
  • 做百度网站每年的费用多少交换友情链接时需要注意的事项
  • 怎么在百度网站上做自己的网站百度开户渠道
  • php技术的网站建设实录方案做二手手机的网站有哪些
  • 做网站店铺装修的软件怎么做淘课网站
  • 百度一下官方网站wordpress连接代码
  • 什么网站详情页做的好仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板
  • 平原网站建设费用少儿编程加盟店倒闭
  • 企业网站建设专业公司蜜淘app在那个网站做的
  • 市住房城乡建设部网站大学生课程设计网站
  • 广州大石附近做网站的公司外包服务公司是干什么的
  • 做的新网站网上搜不到做的网站百度搜索不出来的
  • 电商网站后台报价公司如何建站
  • 查网站有没有做推广企业网站建设的目标
  • 北京网站维护公司专业外贸网站建设_诚信_青岛
  • 网站自己做还是用程序制作网站一般使用的软件有哪些
  • 晨雷文化传媒网站建设济南互联网品牌设计
  • 怎样给自己的网站做防红连接梵客装饰公司官网
  • 甘肃省城乡与住房建设厅网站纪检网站建设动态主题
  • 关于做好全国网站建设网站建设哪个好
  • 灵犀科技网站建设企业建设网站作用
  • 做网站架构图无版权图片网站
  • 赌场需要网站维护吗通过服务推广网站的案例
  • 阿里云网站空间网站建设犭金手指六六壹柒
  • 网站排名软件包年农业网站开发
  • 建设信用卡网银网站crm客户关系管理论文
  • 阿里巴巴网站的搜索引擎优化案例软件开发收费价目表
  • 企业网站建设之域名篇wordpress 文章居中
  • 萍乡网站建设行吗南康建设局官方网站
  • 一键部署wordpress爱站seo工具