DatagramPacket a string

Intento convertir un DatagramPacket recibido a una cadena, pero tengo un pequeño problema. No estoy seguro de cuál es la mejor manera de hacerlo.

Los datos que recibiré son en su mayoría de longitud desconocida, por lo tanto, tengo un búfer [1024] configurado en mi lado receptor. El problema es, supongamos que envié la cadena "abc" y hago lo siguiente en el lado de mi receptor ...

buffer = new byte[1024]; 
packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
buffer = packet.getData();
System.out.println("Received: "+new String(buffer));

Obtengo la siguiente salida: abc [] [] [] []] [] [] [] ..... hasta la longitud del búfer. Supongo que toda la basura / nulo al final debería haberse ignorado, así que debo estar haciendo algo mal. "Sé que la longitud del búfer es el problema porque si lo cambio a 3 (para este ejemplo), mi sale muy bien.

Gracias

Respuestas a la pregunta(12)

Su respuesta a la pregunta