2

可能重复:
Java:如何检测远程端套接字关闭?

我正在使用带有 Socket 和 ServerSocket 的 java 编写一个小程序。我有一个服务器和一些客户端,当用户(客户端)关闭窗口时,客户端和服务器之间的连接将被关闭。

我的问题在服务器上,我无法检测到关闭事件。谁能帮我。

我可以在关闭连接之前从客户端向服务器发送消息以通知此事件。但是如果用户端进程来自 tast manager (javaw.exe),这个解决方案将是不可能的。

4

1 回答 1

2

唯一且唯一真正的找出方法是实际尝试向远程通道写入一些内容。如果套接字关闭,它将抛出适当的异常(类似地适用于读取,但它可以返回 -1 代替)

于 2011-05-18T10:33:02.080 回答