Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/10/2011, 10:47
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Mantener socket abierto en TCP

Hola:

accept() debe devolver un socket con el cliente que se ha conectado. Si dices que no devuelve nada, hay un problema con la conexión.
No estás usando readLine() por ningún sitio, solo write() y read(), por lo que no debería haber problemas de retornos de carro. El problema es el que te comentaba

Código java:
Ver original
  1. while ((numBytes=in.read(buffer)) != -1) {
  2. }

Ese bucle está ejecutándose hasta que ocurre un error en el socket (el -1), por lo que mientras no cierres la conexión o la rompas de alguna forma, estás leyendo (o esperando leer) y copiando en el datagram. Pero si no se cierra la conexión, en ningún momento se detecta cuándo está completo el mensaje ni se hace nada con él.

Se bueno.
__________________
Apuntes Java
Wiki de Programación