Ver Mensaje Individual
  #10 (permalink)  
Antiguo 15/11/2006, 01:44
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
1.- En este caso, como el Thread se bloquea cuando intenta leer más caracteres, lo habitual es que el bucle que lee vaya metiendo los caracteres en una "cola" y que otro Thread compruebe periodicamente a ver si se ha recibido un comando completo o no. Cuando se ha recibido completo lo procesa y borrar esos caracteres de la cola. Habría que poner unos timeouts etc para que un comando que se quede a mitad no lo haga cascar todo, etc, pero la idea básica sería esa.

2.- Habria que comprobar como te llegan los caracteres (en que codificacion) y si los estas leyendo como toca. Java no tiene, por ejemplo, unsigned int, así que si te los mandaran en ese formato, por ejemplo, tendrías que tener en cuenta que la representacion de lo recibido y lo que muestras sería distinta. Y pintarlos por la consola MS-DOS a veces no ayuda ya que los caracteres no imprimibles los suele pintar desde Java de forma rara.