import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//发送程序
public class UDPSend {
public static void main(String[] args) throws IOException {
//给本机发送消息
InetAddress inet = InetAddress.getByName("127.0.0.1");
byte[] data = "你好UDP".getBytes();
DatagramPacket packet = new DatagramPacket(data, data.length, inet, 10000);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
socket.close();
}
}
//接收程序
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPReceive {
public static void main(String[] args) throws IOException {
byte[] data = new byte[1024];
//通过10000端口号接收数据
DatagramSocket socket = new DatagramSocket(10000);
DatagramPacket packet = new DatagramPacket(data, data.length);
socket.receive(packet);
int length = packet.getLength();
//打印从UDPSend接收的数据
System.out.println(new String(data,0,length));
socket.close();
}
}
问题是控制台不显示任何东西,但调试模式会显示"你好UDP。为什么?