UDP通信的实现和项目案例

UDP通信实现原理

UDP协议与之前讲到的TCP协议不同,是面向无连接的,双方不需要建立连接便可通信。UDP通信所发送的数据需要进行封包操作(使用DatagramPacket类),然后才能接收或发送(使用DatagramDocket类)。

DatagramPacket:数据容器(封包)的作用

此类表示数据报包。数据报包用来实现封包的功能。

常用方法:

方法名使用说明
DatagramPacket(byte[] buf,int length)构造数据包,用来接收长度为length的数据包
DatagramPacket(byte[] buf,int length,InetAddress address,int port)构造数据包,用来将长度为length的包发送到指定主机上的指定端口号
getAddress()获取发送或接收方计算机的IP地址,此数据报将要发往该机器或者是从该机器接收到的
getData()获取发送或接收的数据
setData(byte[] buf)设置发送的数据
DatagramSocket:用于发送或接收数据报包

当服务器要向客户端发送数据时,需要在服务器端产生一个DatagramSocket对象,在客户端产生一个DatagramSocket对象。服务器端的DatagramSocket将DatagramPacket发送到网络上,然后被客户端的DatagramSocket接收。

DatagramSocket有两种常用的构造函数。一种是无需任何参数的,常用于客户端;另一种需要指定端口,常用于服务器端。如下所示:

1.DatagramSocket():构造数据套接字并将其绑定到本地主机上任何可用的端口。

2.DatagramSocket(int port):创建数据报套接字并将其绑定到本地主机上的指定端口。

常用方法:

方法名使用说明
send(DatagramPacket p)从此套接字发送数据报包
receive(DatagramPacket p)从此套接字发送数据报包
close()关闭此数据报套接字
UDP通信编程基本步骤:

1.创建服务器端的DatagramSocket,创建时,定义服务器端的监听端口。

2.在服务器端定义DatagramPacket对象,封装待发送的数据包。

3.客户端将数据包发送出去。

4.服务器端接收数据报包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值