Tengo un problema con una biblioteca que estoy usando. ¡Podría ser la biblioteca o podría ser que yo la esté usando mal!
Básicamente, cuando hago esto (Tiempo de espera en milisegundos)
_ignitedHttp.setConnectionTimeout(1); // v short
_ignitedHttp.setSocketTimeout(60000); // 60 seconds
No se genera ninguna excepción de tiempo de espera y funciona bien, sin embargo, cuando hago lo siguiente,
_ignitedHttp.setConnectionTimeout(60000); // 60 seconds
_ignitedHttp.setSocketTimeout(1); // v short
Me sale una excepción de socket.
Entonces, mi pregunta es ¿por qué no puedo simular una excepción de conexión? ¿Estoy malinterpretando la diferencia entre un socket y un tiempo de espera de conexión? La biblioteca está aquí (aún no se ha lanzado oficialmente).
fuente
Un tiempo de espera de conexión es la cantidad máxima de tiempo que el programa está dispuesto a esperar para configurar una conexión a otro proceso. No está obteniendo ni publicando datos de la aplicación en este momento, solo está estableciendo la conexión.
Un tiempo de espera de socket es el tiempo de espera cuando se esperan paquetes individuales. Es un error común pensar que un tiempo de espera de socket es el tiempo de espera para recibir la respuesta completa. Entonces, si tiene un tiempo de espera de socket de 1 segundo y una respuesta compuesta de 3 paquetes IP, donde cada paquete de respuesta tarda 0.9 segundos en llegar, para un tiempo de respuesta total de 2.7 segundos, entonces no habrá tiempo de espera.
fuente