实现UDP简单通信
服务器代码(接收数据)
public class UDPServer {
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(80);
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data,data.length);
System.out.println("========服务以启动,等待客户端发送数据");
socket.receive(packet);
String msg = new String(data, 0, packet.getLength());
System.out.println("我是服务器,客户端说:"+msg);
}
}
客户端代码(发送数据)
public class UDPClient {
public static void main(String[] args) throws IOException{
InetAddress address = InetAddress.getByName("localhost");
int port = 80;
byte[] data = "udp通信so easy".getBytes();
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
}
}
服务器代码(发送数据)
public class UDPServer {
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(80);
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data,data.length);
System.out.println("========服务以启动,等待客户端发送数据");
socket.receive(packet);
String msg = new String(data, 0, packet.getLength());
System.out.println("我是服务器,客户端说:"+msg);
InetAddress address = packet.getAddress();
int port = packet.getPort();
byte[] data2 = "欢迎您!".getBytes();
DatagramPacket packet2 = new DatagramPacket(data2, data2.length, address, port);
socket.send(packet2);
socket.close();
}
}
客户端代码(接收数据)
public class UDPClient {
public static void main(String[] args) throws IOException{
InetAddress address = InetAddress.getByName("localhost");
int port = 80;
byte[] data = "udp通信so easy".getBytes();
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
byte[] data2 = new byte[1024];
DatagramPacket packet2 = new DatagramPacket(data2, data2.length);
socket.receive(packet2);
String reply = new String(data2, 0, packet2.getLength());
System.out.println("我是客户端,服务器说:" + reply);
socket.close();
}
}