Podrías probar instanciar el socket cliente de otra manera. Es decir, en tu código no especificas al crear el socket, contra que máquina realizará conexiones. Solo especificas el servidor en el paquete que envías. Es posible que por eso estes enviando correctamente los datagramas pero no recibiendolos. Prueba cambiar la línea
DatagramSocket socketCliente = new DatagramSocket();
por
DatagramSocket socketCliente = new DatagramSocket(puerto, InetAddress.getByName("localhost"));
A ver si hay suerte