Red de conocimiento informático - Aprendizaje de programación - Java: ¿Cuál es la diferencia entre estos dos tiempos de espera de configuración?

Java: ¿Cuál es la diferencia entre estos dos tiempos de espera de configuración?

Lo siguiente es de la documentación oficial. Para aprender a programar, simplemente lea la documentación.

setSoTimeout

public void setSoTimeout(int timeout)

lanza SocketException

Habilitar/deshabilitar SO_TIMEOUT con el valor de tiempo de espera especificado en milisegundos. Cuando esta opción se establece en un valor de tiempo de espera distinto de cero, llamar a

read() en el InputStream asociado con este Socket solo se bloqueará durante este período de tiempo. Si se excede el valor del tiempo de espera, se generará una excepción java.net.SocketTimeoutException, aunque el Socket

sigue siendo válido. La opción debe estar habilitada antes de ingresar a la operación de bloqueo para que surta efecto. El valor del tiempo de espera debe ser un número > 0. Un valor de tiempo de espera de 0 se interpreta como un valor de tiempo de espera infinito.

Parámetros:

tiempo de espera: el valor de tiempo de espera especificado en milisegundos.

Lanza:

SocketException:

Si hay un error con el protocolo subyacente, como un error de TCP.

conectar

conexión nula pública (punto final de SocketAddress,

tiempo de espera int)

lanza IOException

Lanza esto El socket está conectado al servidor y se especifica un valor de tiempo de espera. Un valor de tiempo de espera de cero se interpreta como un tiempo de espera infinito. La conexión se bloquea hasta que se establece o se produce un error.

Parámetros:

punto final - SocketAddress

timeout: el valor de tiempo de espera a utilizar (en milisegundos).

Lanza:

IOException - si ocurre un error durante la conexión

SocketTimeoutException

- si el tiempo de espera expira antes de conectarse

p>

IllegalBlockingModeException

- si este socket tiene un canal asociado y el canal está en modo sin bloqueo

IllegalArgumentException

- si el el punto final es nulo O este socket no admite la subclase SocketAddress