客户端:
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class UDPClient{
public static void main(String[] args){
for(int i=1;i<5;i++){
client();
}
}
public static void client(){
try {
DatagramSocket ds = new DatagramSocket();
System.out.println("输入消息(按Enter发送)");
Scanner in=new Scanner(System.in);
System.out.print("客户端:");
String xx=in.nextLine();
DatagramPacket dp = new DatagramPacket(xx.getBytes(), xx.length(), InetAddress.getByName("localhost"), 6000);
ds.send(dp);
byte[] buf = new byte[1000];
DatagramPacket dpRecv = new DatagramPacket(buf, 1000);
ds.receive(dpRecv);
String output=new String(buf, 0, dpRecv.getLength());
System.out.println("服务器端:"+output);
ds.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
服务器端:
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class UDPServer{
public static void main(String[] args){
System.out.println("服务器已启动......");
for(int i=1;i<5;i++){
server();
}
}
public static void server(){
try {
DatagramSocket ds = new DatagramSocket(6000);
byte[] buf = new byte[1000];
DatagramPacket dp = new DatagramPacket(buf, 1000);
ds.receive(dp);
String output=new String(buf, 0, dp.getLength());
System.out.println("客户端:"+output);
System.out.println("输入消息(按Enter发送)");
Scanner in=new Scanner(System.in);
System.out.print("服务器端:");
String x=in.nextLine();
DatagramPacket dpSend = new DatagramPacket(x.getBytes(), x.length(), dp.getAddress(), dp.getPort());
ds.send(dpSend);
ds.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}