Java Socket setSoTimeout() 方法

2025 年 3 月 25 日 | 阅读 2 分钟

Java Socket 类的 setSoTimeout() 方法可以使用给定的超时值(以毫秒为单位)来启用或禁用 SO_TIMEOUT 选项。超时值应大于 0,否则将抛出错误。

语法

参数

参数 'timeout' 表示以毫秒为单位的特定超时值。

返回

不适用

抛出

SocketException - 如果底层协议(如 TCP 错误)存在错误。

示例 1

输出

Timeout value: 90987789

示例 2

输出

Timeout value: 0

示例 3

输出

Exception in thread "main" java.lang.IllegalArgumentException: timeout can't be negative
	at java.net.Socket.setSoTimeout(Socket.java:1139)
	at com.tpointtech.JavaSocketSetSoTimeoutExample3.main(JavaSocketSetSoTimeoutExample3.java:13)

示例 4

立即测试

输出

Exception in thread "main" java.net.SocketException: Socket is closed
	at java.net.Socket.setSoTimeout(Socket.java:1137)
	at com.tpointtech.JavaSocketSetSoTimeoutExample4.main(JavaSocketSetSoTimeoutExample3.java:16)
下一主题Java Socket 类