2011-04-12 17 views
5

Según entiendo, el tiempo de espera de la conexión de socket se controla mediante el transporte TCP, que utiliza tiempos de espera de retransmisión (RTO). si el ack no regresa antes de que expire el temporizador, la solicitud de conexión (Sync) se retransmitirá y el RTO se duplicará.¿Cómo funciona el tiempo de espera de conexión del socket?

Entonces, ¿cuál es la funcionalidad de tiempo de espera de conexión en el zócalo de Java cuando llamamos Socket.connect(endpoint, connectTimeout)

Respuesta

5

Entonces, ¿cuál es la funcionalidad de tiempo de espera de conexión en el zócalo de Java cuando llamamos Socket.connect (punto final, ConnectTimeout)

Establece un tiempo de espera total para que se establezca la conexión; es decir, indica cuánto tiempo la aplicación está preparada para esperar a que todos los tiempos de espera, retransmisiones, etc. del nivel de paquetes tengan éxito (o no) antes de darse por vencido.

+1

Eso también es lo que estoy adivinando, pero ¿tiene una referencia para esto? Además, si no establecemos explícitamente el tiempo de espera cuando intentamos conectarnos, ¿después de cuántos reintentos, tcp abandonará la configuración de la conexión? – Alfred

+0

Esto se especifica en 'Socket.connect (...)' javadoc. El número de reintentos y el intervalo entre ellos está determinado por la implementación del sistema operativo de TCP/IP, y Java no proporciona una forma de averiguar cuáles son estos valores o de cambiarlos. (No hay necesidad.) –

Cuestiones relacionadas