DatagramSocket socket= new DatagramSocket(6666);
while(true) {
byte[] container = new byte[1024];
DatagramPacket packet = new DatagramPacket(container, 0, container.length);
socket.receive(packet);
byte[] data;
data = packet.getData();
String receive = new String(data, 0, data.length);
System.out.println(receive);
if (receive.equals("bye")) {
break;
}
}
socket.close();
}
这个问题怎么解决?若能为给在下答疑解惑感激不尽!
String receive = new String(data, 0, data.length);
length需要使用packet.getLength()来获取,修改为如下:
String receive = new String(data, 0, packet.getLength());
看看packet有没有read方法,这个方法会返回读取了多少字节