UDP介绍,编程流程

介绍:

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

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()阻塞状态

 

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值