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

网站建设小程序开发公司网站专题方案

网站建设小程序开发公司,网站专题方案,快速搭建网站工具,个人怎么做一个网站目录 1、tcp协议和udp协议 2、多线程并发和多进程并发#xff1a; #xff08;1#xff09;多进程并发服务端 #xff08;2#xff09;多进程并发客户端#xff1a; 3、tcp: 4、粘包 5、UDP协议编程流程 (1)服务器端#xff1a; (2)客户端#xff1a; 6、tcp状…目录 1、tcp协议和udp协议 2、多线程并发和多进程并发 1多进程并发服务端 2多进程并发客户端 3、tcp: 4、粘包 5、UDP协议编程流程 (1)服务器端 (2)客户端 6、tcp状态 7、tcp状态转移图 1、tcp协议和udp协议 tcp协议面向连接   可靠   流式服务 udp协议无连接   不可靠   数据报 根据场景来决定使用什么协议 2、多线程并发和多进程并发 多线程并发如果线程出现失误可能导致整个进程失败多进程互相不影响 1多进程并发服务端 #includestdio.h #includestring.h #includestdlib.h #includeunistd.h #includesys/socket.h #includenetinet/in.h #include arpa/inet.h #includesignal.hint socket_init(); void do_run(int c) {while(1){char buff[128]{0};int numrecv(c,buff,127,0);if(num0){break;}printf(child read:%s,buff);send(c,ok,2,0);} } int main() {signal(SIGCHLD,SIG_IGN);//处理僵死进程 一个是忽略信号一个是wait();int sockfdsocket_init();if(sockfd-1){printf(socket err\n);exit(1);}while(1){struct sockaddr_in caddr;int lensizeof(caddr);int caccept(sockfd,(struct sockaddr*)caddr,len);if(c0){continue;}printf(c%d\n,c);pid_t pidfork();if(pid-1){close(c);continue;}if(pid0){close(sockfd);do_run(c);close(c);printf(child exit pid%s\n,getpid());exit(0);}close(c);}} int socket_init() {int sockfdsocket(AF_INET,SOCK_STREAM,0);if(sockfd-1){return -1;}struct sockaddr_in saddr;memset(saddr,0,sizeof(saddr));saddr.sin_familyAF_INET;saddr.sin_porthtons(6000);saddr.sin_addr.s_addrinet_addr(127.0.0.1);int resbind(sockfd,(struct sockaddr*)saddr,sizeof(saddr));if(res-1){return -1;}reslisten(sockfd,5);if(res-1){return -1;}return sockfd;} 2多进程并发客户端 #includestdio.h #includestring.h #includestdlib.h #includeunistd.h #includesys/socket.h #includenetinet/in.h #include arpa/inet.hint main() {int sockfdsocket(AF_INET,SOCK_STREAM,0);if(sockfd-1){exit(1);}struct sockaddr_in saddr;memset(saddr,0,sizeof(saddr));saddr.sin_familyAF_INET;saddr.sin_porthtons(6000);saddr.sin_addr.s_addrinet_addr(127.0.0.1);int resconnect(sockfd,(struct sockaddr*)saddr,sizeof(saddr));if(res-1){printf(connect err\n);exit(1);}while(1){char buff[128]{0};printf(input\n);fgets(buff,128,stdin);if(strncmp(buff,end,3)0){break;}send(sockfd,buff,strlen(buff),0);memset(buff,0,sizeof(buff));recv(sockfd,buff,127,0);printf(recv%s\n,buff);}close(sockfd);} 父进程没有关闭链接子进程close不会完成四次挥手 3、tcp: 先建立连接TCP三次握手 最后断开TCP四次挥手 tcp的可靠性是以牺牲了开销为代价的 4、粘包 多次发送的数据被一次性收到了误以为是一次性收到的 解决办法让接收的时候能区分出来用不同的报文、在报文前面描述数据有多大、不连续send 5、UDP协议编程流程 (1)服务器端 1、创建套接字socket 2、指定IP和端口bind() 3、接受数据recvfrom() 4、发送数据sendto() 5、关闭close #includestdio.h #includestring.h #includestdlib.h #includeunistd.h #includesys/socket.h #includenetinet/in.h #include arpa/inet.h #includesignal.hint main() {int sockfdsocket(AF_INET,SOCK_DGRAM,0);if(sockfd-1){return -1;}struct sockaddr_in saddr,caddr;memset(saddr,0,sizeof(saddr));saddr.sin_familyAF_INET;saddr.sin_porthtons(6000);saddr.sin_addr.s_addrinet_addr(127.0.0.1);int resbind(sockfd,(struct sockaddr*)saddr,sizeof(saddr));if(res-1){printf(bind err\n);exit(1);}int lensizeof(caddr);while(1){char buff[128]{0};recvfrom(sockfd,buff,127,0,(struct sockaddr*)caddr,len);printf(recv%s\n,buff);sendto(sockfd,ok,2,0,(struct sockaddr*)caddr,sizeof(caddr));}} (2)客户端 1、创建套接字socket 2、发送sendto()//需要指定对方的IP和端口 3、接收recvfrom()//需要指定对方的IP和端口 4、关闭close() #includestdio.h #includestring.h #includestdlib.h #includeunistd.h #includesys/socket.h #includenetinet/in.h #include arpa/inet.h #includesignal.hint main() {int sockfdsocket(AF_INET,SOCK_DGRAM,0);if(sockfd-1){exit(1);}struct sockaddr_in saddr;memset(saddr,0,sizeof(saddr));saddr.sin_familyAF_INET;saddr.sin_porthtons(6000);saddr.sin_addr.s_addrinet_addr(127.0.0.1);while(1){char buff[128]{0};printf(input\n);fgets(buff,128,stdin);if(strncmp(buff,end,3)0){break;}sendto(sockfd,buff,strlen(buff),0,(struct sockaddr*)saddr,sizeof(saddr));memset(buff,0,128);int lensizeof(saddr);recvfrom(sockfd,buff,127,0,(struct sockaddr*)saddr,len);printf(recv%s\n,buff);}close(sockfd); } 对于udp编程因为是无连接的所以可以多个客户端发送客户端关闭服务器端不回收到任何数据服务器端关闭后对于客户端无影响。 协议不同可以使用同一个端口 6、tcp状态 只有在握手和挥手的时候回引起TCP协议的变化稳定收发连接的时候状态时不会发生改变的。 7、tcp状态转移图 三次握手完成有一个established状态四次挥手完成有一个time_wait()状态
http://www.pierceye.com/news/985801/

相关文章:

  • seo 网站太小平面设计师招聘广告文案
  • 凡科网站建设桂林网站开发m0773
  • 做跨境都有哪些网站做电影类网站
  • 琼海商城网站建设东莞网站建设价位
  • 装饰网站建设重要性云服务器 多个网站
  • 邯郸市城乡建设管理局网站小米商城wordpress
  • 河北中石化建设网站html用户登录注册页面代码
  • 如何在网站后台备份数据库表设计本家装
  • 网站开发绑定qq企业域名注册
  • nas做网站网站安全建设工作总结
  • 淮北网站建设费用男女做暖暖到网站
  • wordpress站点管理浙江东南网架公司
  • 做外贸用什么搜索网站企业贷款政策最新消息2022
  • 各大网站创始人株洲网站建设报价方案
  • 想做网站多少钱wordpress数据连接失败1223
  • 株洲建设网站公司个人网站建设简历
  • 地方网站系统wordpress管理入口
  • 个人做网站开发指标开发板是什么东西
  • 国家住房与城乡建设部网站国内比较知名的大型门户网站
  • 网站怎么做音乐播放器大众公司网页设计
  • 网站开发地图导航页面广州公司网站建设公司
  • php网站怎么建设快速搭建网站的工具有哪些
  • 百度做的网站后台怎么更新网站要学什么
  • 做it人经常逛的网站国通快速建站
  • 网站标题会影响吗wordpress改域名修改哪里
  • 做音乐网站需要版权么工业设计图片产品
  • 外包网站问些什么问题浙江省信息港成绩查询
  • 手机网站怎么dw做官方网站下载打印机的驱动
  • 网站被攻击空间关了怎么办网站用的是什么语言
  • 欧亚专线快递查询商丘seo