尝试将收到的 DatagramPacket 转换为字符串,但我有一个小问题。不知道最好的方法是什么。
我将接收到的数据大多是未知长度的,因此我在接收端设置了一些缓冲区 [1024]。问题是,假设我发送了字符串“abc”并在我的接收方执行以下操作......
buffer = new byte[1024];
packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
buffer = packet.getData();
System.out.println("Received: "+new String(buffer));
我得到以下输出: abc[][][][]][][][]..... 一直到缓冲区长度。我猜最后所有的垃圾/空值都应该被忽略,所以我一定做错了。”我知道 buffer.length 是问题,因为如果我将它更改为 3(对于这个例子),我的出来就好了。
谢谢。