Java Socket setSoLinger() 方法

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

Java Socket 类的 setSoLinger() 方法使用给定的延迟时间(以秒为单位)来启用或禁用 SO_LINGER 选项。它用于指定 close() 方法如何影响使用面向连接协议的套接字。超时值是平台特定的,此设置仅影响套接字关闭。

语法

参数

on - 是否启用 'linger'。M

linger - 如果参数 'on' 为 true,则延迟的时间。

返回

不适用

抛出

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

IllegalArgumentException - 如果 linger 值小于 0。

示例 1

输出

Timeout value: 90

示例 2

输出

Timeout value: -1

示例 3

输出

Exception in thread "main" java.lang.IllegalArgumentException: invalid value for SO_LINGER
	at java.net.Socket.setSoLinger(Socket.java:1021)
	at com.tpointtech.JavaSocketSetSoLingerExample3.main(JavaSocketSetSoLingerExample3.java:14)

示例 4

输出

Exception in thread "main" java.net.SocketException: Socket is closed
	at java.net.Socket.setSoLinger(Socket.java:1016)
	at com.tpointtech.JavaSocketSetSoLingerExample4.main(JavaSocketSetSoLingerExample4.java:18)
下一主题Java Socket 类