SO_TIMEOUT选项:
1,socket
setSoTimeout
public void setSoTimeout(int timeout) throws SocketException
- 启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。将此选项设为非零的超时值时,在与此 Socket 关联的 InputStream 上调用 read() 将只阻塞此时间长度。如果超过超时值,将引发 java.net.SocketTimeoutException,虽然 Socket 仍旧有效。选项 必须在进入阻塞操作前被启用才能生效。超时值必须是 > 0 的数。超时值为 0 被解释为无穷大超时值。
-
-
参数:
-
timeout
- 指定的以毫秒为单位的超时值。
抛出:
-
SocketException
- 如果底层协议出现错误,例如 TCP 错误。
从以下版本开始:
- JDK 1.1 另请参见:
-
getSoTimeout()
-
setSoTimeout
public void setSoTimeout(int timeout) throws SocketException
- 通过指定超时值启用/禁用 SO_TIMEOUT,以毫秒为单位。将此选项设为非零的超时值时,对此 ServerSocket 调用 accept() 将只阻塞此时间长度。如果超过超时值,将引发 java.net.SocketTimeoutException,虽然 ServerSocket 仍旧有效。选项 必须在进入阻塞操作前被启用才能生效。超时值必须是 > 0 的数。超时值为 0 被解释为无穷大超时值。
-
-
参数:
-
timeout
- 指定的超时(以毫秒为单位)
抛出:
-
SocketException
- 如果在底层协议中存在错误,如 TCP 错误。
从以下版本开始:
- JDK1.1 另请参见:
-
getSoTimeout()
-