UDP
目录
引入
-- UDP协议的特点
-
无连接性: UDP是无连接的协议,这意味着通信的双方不需要在通信之前建立连接。每个UDP数据报都是独立的,它们可以单独发送,没有依赖关系。
-
不可靠性: UDP不提供数据传输的可靠性保证。它不会像TCP那样提供重传、确认和流量控制等机制。这意味着如果发送的数据丢失或者损坏,UDP不会自动重新发送,需要应用层自行处理。
-
速度和低延迟: 由于没有连接状态维护和复杂的确认机制,UDP的开销比TCP小,因此在速度和延迟方面表现更好。这使得它适用于实时应用,如语音通话和在线游戏。
-
数据报格式: UDP数据报包含了目标端口号和源端口号,这些信息用于将数据传递给正确的应用程序。但是,数据报本身没有保证按顺序到达或完整到达。
-
无拥塞控制: UDP不具备TCP的拥塞控制机制,因此在网络拥塞的情况下,UDP数据报可能会丢失或延迟增加。
-
广播和多播支持: UDP支持向特定组中的多个主机发送数据,这称为多播(Multicast)。也可以将数据报广播到网络中的所有主机,这称为广播(Broadcast)。
-
适用场景: UDP适用于需要快速传输和实时性要求较高的应用,如语音和视频流、在线游戏、实时传感数据等。它不适用于需要可靠传输和数据完整性的场景,因为这些方面没有被UDP提供。
一对一 单播
一对多 广播
多对多 组播
在 UDP 中没有客户端和服务器之分
只有发送方和接收方
使用 UDP 的注意事项
-- 1 使用 udp 通信时 创建的套接字时用的参数与 tcp 不同
int socket(int domain, int type, int protocol) domain:AF_INET