¿Cuál es la mejor manera de enviar un int a través de un socket en Java? En este momento estoy mirandoEnviando int a través del socket en Java
sockout.write((byte)(length >> 24));
sockout.write((byte)((length << 8) >> 24));
sockout.write((byte)((length << 16) >> 24));
sockout.write((byte)((length << 24) >> 24));
y luego tratar de reconstruir el int de bytes en el otro lado, pero no parece funcionar. ¿Algunas ideas?
Gracias.
En general, su camino debería funcionar también, pero la respuesta de Adam es mejor IMO. Sin embargo, la forma habitual de hacerlo es ((longitud >> i) y (byte) 0xff) donde i es uno de (0, 8, 16, 24) que lo protege de los problemas en caso de que el valor original del entero sea negativo. – abyx