服务器+客户端(Java)

  • 首先执行服务器
package Demo03;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

//这边也是需要等待客户端的连接
public class UdpServerDemo01 {
public static void main(String[] args) throws Exception {
//1.开放端口
DatagramSocket socket = new DatagramSocket(9090);

//2.接收数据(即接收包)
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);//接收
//这里将 DatagramPacket封装 成一个对象

socket.receive(packet); //阻塞接收
System.out.println(packet.getAddress().getHostAddress());
System.out.println(new String(packet.getData(),0,packet.getLength()));

//3.关闭连接
socket.close();
}
}
  • 接着再执行客户端
package Demo03;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

//不要连接服务器
public class UdpClientDemo01 {
public static void main(String[] args) throws Exception {
//1.建立一个Socket
DatagramSocket socket = new DatagramSocket();

//2.建个 包
String msg="你好啊,服务器!";

//接收对象
InetAddress localhost = InetAddress.getByName("localhost");
int port=9090;
//以下解释:数据、数据长度起始、接收对象
DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port);

//3.发送 包
socket.send(packet);

//4.关闭流(资源)
socket.close();
}
}