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

如何建设网址导航网站如何查询网站

如何建设网址导航网站,如何查询网站,软件前端主要做什么,网页设计手机端UDP网络通讯 UDP报文结构: 16位源端口:用于记录发送端的端口号(占用两个字节)16位目的端口:用于记录接收端的端口号(占用两个字节)16位UDP长度:确定UDP报文总长度,&…

UDP网络通讯

UDP报文结构:

在这里插入图片描述

  • 16位源端口:用于记录发送端的端口号(占用两个字节)
  • 16位目的端口:用于记录接收端的端口号(占用两个字节)
  • 16位UDP长度:确定UDP报文总长度,(占用两个字节)
  • 16位UDP校验和:接收端会首先知道即将发送来的数据的报文总长度,等数据来了之后,将数据的UPD校验和和已经知道的正确的报文总长度对比,如果不相同,直接丢掉UDP数据。(占用两个字节)

UDP编程流程

在这里插入图片描述

客户端代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/socket.h>int main()
{int sockfd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == sockfd){exit(1);}struct sockaddr_in saddr;memset(&saddr,0,sizeof(saddr));saddr.sin_addr.s_addr = inet_addr("127.0.0.1");saddr.sin_family = AF_INET;saddr.sin_port = htons(6000); char buff[128] = {0};while(1){int len = sizeof(saddr);scanf("%s",buff);if(strcmp(buff,"end") == 0){break;}sendto(sockfd,buff,128,0,(struct sockaddr *)&saddr,len);memset(buff,0,128);int n = recvfrom(sockfd,buff,127,0,(struct sockaddr*)&saddr,&len);printf("n=%d,buff=%s\n",n,buff);}close(sockfd);
}

服务器端

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/socket.h>int main()
{int sockfd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == sockfd){exit(1);}struct sockaddr_in saddr,caddr;memset(&saddr,0,sizeof(saddr));saddr.sin_addr.s_addr = inet_addr("127.0.0.1");saddr.sin_family = AF_INET;saddr.sin_port = htons(6000); int res = bind(sockfd,(struct sockaddr *)&saddr,sizeof(saddr));if(-1 == res){exit(1);}char buff[128] = {0};while(1){int len = sizeof(caddr);int n = recvfrom(sockfd,buff,127,0,(struct sockaddr*)&caddr,&len);printf("n=%d,buff=%s\n",n,buff);sendto(sockfd,"OK",2,0,(struct sockaddr *)&caddr,len);memset(buff,0,128);}close(sockfd);
}

代码运行结果:

在这里插入图片描述

将服务端代码此处修改如下 在这里插入图片描述

运行结果:

结论:

  • UDP 是无连接的(不需要类似TCP的事先进行connect操作),所以每次发送数据都需要指定对端的地址(IP 和端口)。recvfrom()接收数据,每次都需要传给该方法一个地址结构来存放发送端的地址。recvfrom()可以接收所有客户端发送给当前应用程序的数据,并不是只能接收某一个客户端的数据。
  • UDP是面向数据报:传输的形式都是以数据报,不可分割也不可合并,发送端应用程序每执行一次写操作,UDP 模块就将其封装成一个 UDP 数据报发送。接收端必须及时针对每一个 UDP 数据报执行读操作,否则就会丢包。并且,如果用户没有指定足够的应用程序缓冲区来读取 UDP 数据,则 UDP 数据将被截断。
  • UDP是不可靠的(没有类似于TCP一样的机制(应答机制,超时重传,滑动窗口))
http://www.yayakq.cn/news/210787/

相关文章:

  • 阜阳恒亮做网站多少钱新图闻提供的产品和服务
  • 企业营销型网站建设品牌做电商运营需要具备什么能力
  • 网站页面设计价格抖音做我女朋友好不好网站
  • 黄石有没有做网站的电信的网做的网站移动网打不开该找电信还是移动
  • 南宁建网站必荐云尚网络aso关键词覆盖优化
  • 网站制作学习引流推广的方法
  • 网站开发的方法工程项目管理软件免费版
  • 极简个人网站模板凡科网建站系统源码
  • 新手做淘宝哪个网站比较好红河州建设局网站
  • 建设植绒衣架网站全屋定制十大名牌排名
  • 怎样说服公司做网站北京迈程网络网站建设公司
  • 经济网站建设广东网站建设网站
  • 苏州企业网站设计企业wordpress首页视频自动播放
  • 商务电商网站建设上线了网站
  • 网站改版如何做301wordpress导航菜单设置
  • 怎么做网站促收录买的网站可做360广告联盟吗
  • 做网站宣传网页设计公司兴田德润在哪儿
  • 做短链的网站怎么样做推广网站
  • 电脑版网站制作公司wordpress 翻译制作
  • 网站开发保密协议范本下载宁波市高新区建设局网站
  • 网站域名放国外石家庄建设网站哪家好
  • 网站 盈利模式网络服务器监控系统
  • 网上注册公司核名流程seo推广有哪些方式
  • 只做健康产品的网站阜宁做网站哪家公司好
  • 长春网站建设营销q479185700刷屏dedecms的网站如何添加个引导页
  • 杭州商城型网站建设网站推广服务网址
  • 泉州正规制作网站公司织梦网站地图调用全站文章
  • 西安做网站的在哪成华区住房和城乡建设厅网站
  • 网站建设不推广有用吗相册制作模板
  • 网站链接只显示到文件夹怎么做的ppt网站建设的目的