2011-02-23 13 views
5

tengo este fragmento de código:Java zócalo y ServerSocket Edición

ServerSocket serversocket=new ServerSocket(DEFAULTPORT); 
serversocket.setSoTimeout(1000); 
Socket socket=serversocket.accept(); 
  1. ¿Tiene cerrar el objeto serversocket también afecta al estado del objeto socket?

  2. Si cierro el objeto serversocket, ¿puedo seguir utilizando el objeto socket para mis transmisiones?

+0

eh? ¿Qué tiene que ver con mi pregunta? –

Respuesta

3

Las respuestas cortas son:

1) sin

2) sí

La respuesta larga es:

Las esperas ServerSocket para los clientes se conecten (él espera en su método de aceptación). Cuando hay un cliente, el método accept devuelve, más específicamente, devuelve un objeto Socket que luego representa el punto final del servidor de la conexión servidor-cliente. Si el servidor cierra su socket de servidor, ya no escucha (ya no acepta nuevos clientes), pero los clientes con los que ya tiene una conexión de socket no se ven afectados.

Su código no es "incorrecto" per se, sin embargo, solo es capaz de aceptar un solo cliente y solo si está conectado dentro de 1000 milisegundos.

Aquí está una introducción incluyendo código de ejemplo:

http://download.oracle.com/javase/tutorial/networking/sockets/clientServer.html

+0

super gracias! los códigos fueron solo para aclararlos para que los lectores puedan entender lo que quise decir. –

Cuestiones relacionadas