hola Ferkis, yo eso lo hago enviando un byte[] en lugar de un string, mira así:
Código:
Socket conexion = new Socket(servidor,port);
OutputStream bufferSalida = conexion.getOutputStream();
DataOutputStream datos = new DataOutputStream(bufferSalida);
;
byte[] enviar = new byte[] {
(byte)(0x02),
(byte)(0x12),
(byte)(0x34),
(byte)(0x11)
};
bufferSalida.write(enviar);
Recuerda que si estás utilizando el métiodo writeUTF deberás cambiar en el receptor el método de recibir, puesto que con writeUTF los dos primeros bytes son la longitud total del paquete.
Utiliza algún programa como Wireshark y verás como el paquete llega tal cual quieres!
Saludos!