s-day11-UDP的客户端实现

This commit is contained in:
2026-08-12 16:21:07 +08:00
parent e94fbfec03
commit d0c28dcb01
+44
View File
@@ -0,0 +1,44 @@
package com.inmind.udp02;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/*
UDP(印度飞饼)
1.面向无连接
2.传输不安全
3.传输数据有限制,64KB以内
在java中使用DatagramSocket来表示UDP的客户端和服务端
构造方法
DatagramSocket() 创建客户端的Socket对象,系统会随机分配一个端口号。
DatagramSocket(int port) 创建服务端的Socket对象,并指定端口号。
常用方法:
void send(DatagramPacket p) 发送数据包
void receive(DatagramPacket p) 使用数据包接收数据
DatagramPacket :数据包
DatagramPacket(byte[] buf, int length, InetAddress address, int port) 创建发出去的数据包对象
DatagramPacket(byte[] buf, int length) 创建接收数据的数据包对象
int getLength() 返回要发送的数据的长度或接收到的数据的长度
需求:使用UDP实现快速通信,实现1发1收
*/
public class Demo02 {
public static void main(String[] args) throws Exception {
//1创建客户端对象(丢飞饼的阿三)
DatagramSocket socket = new DatagramSocket();//随机分配端口
//2.创建数据包对象,封装要发出去的数据(创建一个飞饼)
byte[] bytes = "我爱java,java爱我".getBytes();
DatagramPacket packet = new DatagramPacket(bytes,bytes.length, InetAddress.getLocalHost(),10022);
//3.客户端正式发送这个数据包出去
socket.send(packet);
System.out.println("客户端数据发送完毕~~");
socket.close();
}
}