在同一个局域网中,实现两台手机通信功能。
客户端
//255.255.255.255 是范围是局域网
InetAddress address = InetAddress.getByName("255.255.255.255");
byte[] data = msg.getBytes();
//创建数据报,其包含发送的数据信息
DatagramPacket packet = new DatagramPacket(data, data.length, address, 8800);
//创建DatagramSocket实例
DatagramSocket socket = new DatagramSocket();
//向服务器端发送数据报
socket.send(packet);
socket.close();
System.out.println("向服务器端发送数据报");
服务端
//监听端口号
DatagramSocket socket = new DatagramSocket(8800);
//创建字节数组,指定接收的数据包的大小
byte[] data = new byte[1024];
//创建数据报,用于接收客户端发送的数据
DatagramPacket packet = new DatagramPacket(data, data.length);
//接收客户端发送的数据
System.out.println("服务器端已启动,等待客户端发送数据");
//在接收到数据报之前,此方法会一直阻塞
socket.receive(packet);
//解析数据
String info = new String(data, 0, packet.getLength());
System.out.println("我是服务器,客户端说:" + info);
socket.close();