Ver Mensaje Individual
  #10 (permalink)  
Antiguo 13/10/2011, 13:38
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Mantener socket abierto en TCP

Hola:

Lo habitual en estos casos es saber el tamaño del mensaje para leer ese número de bytes, o bien esperar algún tipo de fin de mensaje, como el retorno de carro que comentábamos al principio.

Para la primera opción, por ejemplo, se suele enviar un primer entero que indica cual es el mensaje que se envía a continuación. El receptor lee el entero y sabiendo que mensaje va a recibir puede hacer la lectura del tamaño exacto.

Si los mensajes no son de longitud fija, se puede enviar un entero con la longitud del mensaje que va a continuación, así el receptor lee primero ese entero y sabe cuántos bytes tiene que leer después.

Finalmente, la otra opción es enviar el mensaje y terminarlo con un retorno de carro (byte \n). El receptor leería hasta encontrar un \n, que es el fin de mensaje.

Se bueno.
__________________
Apuntes Java
Wiki de Programación