package InterUDPdemo;
/*
- 创建发送端的Socket对象(DatagramSocket)
- 创建数据,并把数据打包
- 调用DatagramSocket对象的方法发送数据
- 关闭发送端
*/
import java.io.IOException;
import java.net.*;
public class SendDemo {
public static void main(String[] args) throws IOException {
//- 创建发送端的Socket对象(DatagramSocket)
DatagramSocket ds = new DatagramSocket();
//创建数据,使用getBytes方法将字符串变成字节
byte[] bytes = "hello.gkkhhkk".getBytes();
//创建DatagramPacket数据包对象,构造一个数据包,发送长度为 length的数据包到指定主机上的指定端口号。
DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length, InetAddress.getByName("192.168.1.210"),10086);
//调用DatagramSocket对象的send方法发送数据
ds.send(datagramPacket);
//关闭发送端
ds.close();
}
} package InterUDPdemo;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
/*
- - 创建接收端的Socket对象(DatagramSocket)
- 创建一个数据包,用于接收数据
- 调用DatagramSocket对象的方法接收数据
- 解析数据包,并把数据在控制台显示
- 关闭接收端
-
*/
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
//创建接收端的Socket对象(DatagramSocket)
DatagramSocket dp = new DatagramSocket(10086);
//死循环,保持接受端可以一直接受数据
while (true) {
// 创建一个字节数组,用于存放解析的数据
byte[] bytes = new byte[1024];
//创建 DatagramPacket数据包对象
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
//调用DatagramSocket对象的方法接收数据
dp.receive(datagramPacket);
//创建字符串对象通过getdata方法getLength方法解析到字符串中,打印输出
System.out.println("数据是:" + new String(datagramPacket.getData(), 0, datagramPacket.getLength()));
}
}
}