¿Por qué recibo java.net.SocketTimeoutException con OkHttp?

Seco:

Aquí está mi configuración:

httpClient = new OkHttpClient.Builder()
        .callTimeout(Duration.ofSeconds(60))
        .connectTimeout(Duration.ofSeconds(60))
        .readTimeout(Duration.ofSeconds(60))
        .writeTimeout(Duration.ofSeconds(60))
        .build();

Tengo un proceso de multiproceso que utiliza este cliente. Unos segundos después de ejecutar estoy recibiendo:

java.net.SocketTimeoutException: tiempo de espera
en okio.Okio $ 4.newTimeoutException (Okio.java:232)
en okio.AsyncTimeout.exit (AsyncTimeout.java:286)
en okio.AsyncTimeout $ 2.read (AsyncTimeout.java:241)
en Okio .RealBufferedSource.indexOf (RealBufferedSource.java:358)

¿Cómo es posible, si he configurado los tiempos de espera de 60 segundos?

EDIT:
añadir Incluso una costumbre despachador no ayudó:

Dispatcher dispatcher = new Dispatcher();
dispatcher.setMaxRequests(Integer.MAX_VALUE);
dispatcher.setMaxRequestsPerHost(Integer.MAX_VALUE);

DETALLES TÉCNICOS:
A diferencia de lo que he dicho, estoy corriendo el cliente y el servidor en máquinas Linux:

La máquina del cliente: net.ipv4.tcp_keepalive_time = 7200
del servidor de la máquina: net.ipv4.tcp_keepalive_time = 7200

Charles Dowbecki:

Lo más probable es afectado por los tiempos de espera de socket impuestas por el sistema operativo. Java no puede extenderlas desde los enchufes son gestionados por el sistema. De acuerdo con esta gran respuesta, la sección "Cambio de TCP Tiempos de espera" :

Por desgracia, ya que las conexiones TCP se gestionan en el nivel de sistema operativo, Java no soporta la configuración de los tiempos de espera en un nivel por socket como en java.net.Socket. He encontrado algunos intentos de utilizar Java Native Interface (JNI) cree sockets de Java que llaman a código nativo para configurar estas opciones, pero ninguno parece tener la adopción generalizada de la comunidad o de apoyo.

Para MacOS usted tiene que mirar a sysctl net.inet.tcpla salida y ver cuáles son los límites del sistema.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=229244&siteId=1
Recomendado
Clasificación