发送端
public class Send {
public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
InetAddress address = InetAddress.getByName("127.0.0.1");
int port = 9999;
new Thread(() -> {
while(true) {
try {
String str = br.readLine();
byte[] b = str.getBytes();
int length = b.length;
DatagramPacket dp = new DatagramPacket(b,length,address,port);
ds.send(dp);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
DatagramSocket ds_recieve = new DatagramSocket(8888);
new Thread(() -> {
while (true) {
try {
byte[] b = new byte[1024];
int len = b.length;
DatagramPacket dp = new DatagramPacket(b,len);
ds_recieve.receive(dp);
InetAddress ip = dp.getAddress();
byte[] data = dp.getData();
int length = dp.getLength();
System.out.println(ip + ": " + new java.lang.String(data,0,length));
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
接收端
public class Recieve {
public static void main(String[] args) throws Exception{
DatagramSocket ds_recieve = new DatagramSocket(9999);
new Thread(() -> {
while (true) {
try {
byte[] b = new byte[1024];
int len = b.length;
DatagramPacket dp = new DatagramPacket(b,len);
ds_recieve.receive(dp);
InetAddress ip = dp.getAddress();
byte[] data = dp.getData();
int length = dp.getLength();
System.out.println(ip + ": " + new java.lang.String(data,0,length));
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
DatagramSocket ds = new DatagramSocket();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
InetAddress address = InetAddress.getByName("127.0.0.1");
int port = 8888;
new Thread(() -> {
while(true) {
try {
String str = br.readLine();
byte[] b = str.getBytes();
int length = b.length;
DatagramPacket dp = new DatagramPacket(b,length,address,port);
ds.send(dp);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}