UDP套接字

本文介绍了UDP协议的特点,如无需预先连接、保留信息边界等,对比了UDP与TCP的区别。详细阐述了UDP套接字的使用,包括DatagramPacket在数据交换中的作用,以及UDP客户端和服务器端的通信流程,强调了UDP通信的无连接性和可能的数据丢失问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UDP 提供了一种不同于TCP的端到端服务,UDP 协议实际只实现两个功能:

(1),在IP协议的基础上添加了另一层地址。

(2),对数据在传输过程产生过程中进行错误校验,并抛弃已经损坏的数据。


UDP与TCP的不同点:

(1), UDP 套接字在使用前不需要进行连接。

(2),UDP 套接字与TCP套接字对信息边界的处理方式不同,UDP 套接字将保留边界信息。

(3),UDP 协议所提供的端到端的传输服务是尽力而为的,即UDP 套接字将尽可能的传送信息,但并不保证信息一定能成功到达目的

         地址,而且信息到达的顺序与其发送顺序不一定一致。


1. DatagramPacket

与TCP协议发送和接受字节流不同,UDP终端交换的是一种称为数据报文的自包含信息。

发送信息时,首先要有一个DatagramPacket的实例,然后将这个实例作为参数传递给DatagramSocket

类的send()方法。


2. UDP客户端

UDP 客户端首先向被动等待联系的服务器端发送一个数据报文。

(1),创建一个DatagramSocket实例,可以选择对本地地址和端口号进行设置。

(2),使用DatagramSocket类的send()和receive()方法来接收和发送DatagramPacket实例,进行通信。

(3),通信完成后,使用DatagramSocket类的close()方法来销毁该套接字。

与Socket类不同,使用DatagramSocket实例在创建时并不需要指定目的地址,其实这也是TCP协议和UDP协议的最大不同点之一。

在进行数据交换前,TCP套接字必须与特定的主机和另一个端口号上的TCP套接字建立连接,之后在连接关闭前,该套接字就只能与相连

的套接字通信。UDP套接字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值