UDP介绍,编程流程

举报
TT-千叶 发表于 2022/12/17 14:32:00 2022/12/17
【摘要】 介绍: 面向无连接的用户数据报协议,不需要建立任何连接,目的主机接收后不需要确认 UDP特点:相比TCP速度快一些简单的应用程序直接使用 不需要加密对于海量数据不采用UDP广播和多播必须采用UDP UDP应用:DNS解析 NFS网络文件系统 RTP流媒体,以及一般语音和视频都是用UDP UDP网络编程流程:服务器: 创建套接字socket()将服务器的ip地址、端口号与套接字进行绑定bin...

介绍:

面向无连接的用户数据报协议,不需要建立任何连接,目的主机接收后不需要确认

UDP特点:

  • 相比TCP速度快一些
  • 简单的应用程序直接使用 不需要加密
  • 对于海量数据不采用UDP
  • 广播和多播必须采用UDP

UDP应用:

DNS解析 NFS网络文件系统 RTP流媒体,以及一般语音和视频都是用UDP

UDP网络编程流程:

服务器: 创建套接字socket()

将服务器的ip地址、端口号与套接字进行绑定bind()

接收数据recvfrom()

发送数据sendto()

客户端: 创建套接字socket()

发送数据sendto()

接收数据recvfrom()

关闭套接字close()

UDP 编程 C/S架构:

简单的说一下: 服务器创建Socket() 也就是创建文件描述符

服务器绑定Bind() 函数 这里的绑定不是绑定客户端的信息(IP和Port) 这里是绑定主机的IP 和端口,因为创建文件描述符 就是为了 连接本机进程,接入, 不要绑定错了。

接收数据recvfrom() 等待客户端连接 这里存在一个文件描述符,一直阻塞 知道检测缓冲区中有描述符 才解除阻塞。

还有就是 客户端不关闭socket 一直等待客户端断开连接 则就继续处于recvfrom()阻塞状态

实质上 在连接过程存在连个缓冲区 一个读缓冲区,一个写缓冲区 就是不停的检测缓冲区内容

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。