UDP

用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。 UDP 不提供可靠性,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们能到达目的地。由于 UDP 在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

UDP 特点

  1. 无连接:UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
  2. 大小限制:UDP 传输数据时有大小限制,每个被传输的数据报必须限定在 64KB 之内。
  3. 不可靠: UDP 是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。

应用:注重速度流畅的业务

UDP 是面向消息的协议,通信时不需要建立连接,数据的传输自然是不可靠的,UDP 一般用于多点通信实时的数据业务,比如

语音广播
视频
QQ
TFTP(简单文件传送)
SNMP(简单网络管理协议)
RIP(路由信息协议,如报告股票市场,航空信息)
DNS(域名解释)

UDP 构建步骤

udp 过程

客户端

  1. Socket 创建客户端套接字
  2. sendto/recvfrom 发送/接收数据
  3. close 关闭套接字

服务端

  1. Socket
  2. bind
  3. recvfrom/sendto

TCP

TCP 服务器构建

tcp 过程

  1. socket 创建一个套接字
  2. bind 绑定 ip 和 port
  3. listen 使套接字变为可以被动链接
  4. accept 等待客户端的链接
  5. recv/send 接收发送数据