TIMEOUT

Como se impelmente el timeout??

tengo algo asi:

SocketAddress sockaddr = new InetSocketAddress("localhost", 6666);
             
             this.socket = new Socket();
             this.socket.connect(sockaddr,this.readSocketTimeout);

pero parece que asi en timeout fuera por los siglos de los siglos ingnorando mi variable this.readSocketTimeout =60*1000 que me representa 1 minuto, y si encambio lo hago asi:

 this.socket = new Socket("localhost",6666);
this.socket.setSoTimeout(this.readSocketTimeout);

si me toma el minuto pero deja de funcionar mi aplicacion me toca volver a ejecutar.

alguien me puede indicar el funcionamiento correcto del timeout

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

no

El método connect(address, timeout) no fija el timeout de lectura, ese es un timeout de conexión nada más. Lo que haces después ya fija el timeout de lectura. Son dos cosas distintas: Si invocas connect con un timeout, el servidor debe aceptarte tu conexión en el tiempo establecido o de lo contrario se arroja excepción. Eso es muy aparte de que le pongas un timeout de lectura al socket.