Java - Socket Inicio

 
Vista:

Socket Inicio

Publicado por Martin (4 intervenciones) el 28/04/2003 19:45:31
Estoy aprendiendo a usar sockets. Estoy haciendo una aplicacion simple Cliente/Servidor .Para enviar texto del cliente al servidor y viceversa tipo chat pero super simple . Cuando Pulso el boton Conectar se cuelga mi aplicacion Servidor y es por que le doy bucle inifinito para escuchar a los clientes que se conecte a el, quiero saber donde por esa parte de codigo
while(true)
espera conexiones de los clientes
end while
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Socket Inicio

Publicado por chuidiang (532 intervenciones) el 29/04/2003 11:48:11
Suponiendo que uses ServerSocket.accept(), esta llamada se bloquea hasta que un cliente se conecte. Una vez conectado, como lo tienes en un bucle, se volverá a meter en un accept() y volverá a quedar bloqueado.

Una posible solución es dejar el bucle como lo tienes, pero lanzar un thread distinto por cada conexión a cliente o para hacer otras cosas que quieras que haga el servidor mientras se esperan conexiones.

En unix/c existen posibilidades para hacer que la llamada a accept() no se bloquee o incluso para mirar varios sockets a la vez y ver si tienen algo sin necesidad de bloquearnos. Puedes echar un ojo en java a ver si hay algo parecido (¿Quizás son SocketOptions?)

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar