Java中的UDP通信
1.1 UDP发送数据
- UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念
- Java提供了DatagramSocket类作为基于UDP协议的Socket
- 构造方法
方法名 | 说明 |
---|---|
DatagramSocket() | 创建数据报套接字并将其绑定到本机地址上的任何可用端口 |
DatagramPacket(byte[] buf,int len,InetAddress add,int port) | 创建数据包,发送长度为len的数据包到指定主机的指定端口 |
相关方法
方法名 | 说明 |
---|---|
void send(DatagramPacket p) | 发送数据报包 |
void close() | 关闭数据报套接字 |
void receive(DatagramPacket p) | 从此套接字接受数据报包 |
- 发送数据步骤
1,创建发送端的Socket对象(DatagramSocket)
2:创建数据,并把数据打包
3:调用DatagramSocket对象的方法发送数据
4:关闭发送端
实例:
public static void main(String[] args) throws Exception {
File file=new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\a\\11.jpg");
DatagramSocket socket=new DatagramSocket(7777);
InputStream is=new FileInputStream(file);
byte[]arr=new byte[1024];
int len;
DatagramPacket packet;