UDP网络通讯/UDP可靠性实现

本文对比了UDP与TCP的区别,强调了UDP的无连接性和可靠性由应用层实现。介绍了UDP通讯的基本步骤,包括服务器端和客户端接口。探讨了RUDP、RTP、UDT等实现UDP可靠传输的协议,详细阐述了它们的特点和应用场景。
摘要由CSDN通过智能技术生成

UDP网络通讯

在前面一篇博客中写道TCP套接字的网络通讯TCP网络通讯;下面来介绍UDP套接字的网络通讯。

一、UDP与TCP的区别:

  • TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议

  • UDP是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。可靠性由上层应用实现,所以要实现UDP的可靠性传输,必须通过应用层来实现和控制。

二、TCP如何实现可靠性传输

  • 请求与应答

  • 按序到达

  • 丢包,运行重传机制

  • 面向连接

  • 通过滑动窗口进行流量控制

  • 超时重传

  • 接收方缓冲满后,发送方定时询问滑动窗口容量

  • 网络拥塞避免

三、UDP的通讯实现

服务器端与客户端的接口介绍

一、 创建套接字文件

int socket(int domain, int type, int protocol);
  • domain:AF_INET,表示IPv4;

  • type:在TCP中是SOCK_STREAM表示流式服务,在UDP中为SOCK_DGRAM表示数据报服务
    二、绑定服务器端的结构体

int bind(int sockfd, struct sockaddr *addr, socklen_t addrlen);
  • 服务器端绑定的是自己本地的信息
    三、因为UDP是无连接的,所以,我们不需要想TCP中一样设置连接,监听;
    所以,UDP就已经可以开始进行数据的发送与接受了:
    UDP中的接收端接口:
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *adddrlen);
  • 在服务器端,接受的客户端的消息,所以得自己创建一个客户端的结构体进行绑定;

UDP中发送端接口:

int sendto(int s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值