Java 如何检测断开连接事件

Java 如何检测断开连接事件,java,sockets,serversocket,Java,Sockets,Serversocket,可能重复: 我正在用java编写一个带有Socket和ServerSocket的小程序。 我有一个服务器和一些客户端,当用户(客户端)关闭窗口时,客户端和服务器之间的连接将关闭 我的问题在服务器上,我无法检测到关闭事件。谁能帮我 我可以从客户端向服务器发送消息,在关闭连接之前通知此事件。但是,如果用户端进程来自tast管理器(javaw.exe),这个解决方案就不可能了。唯一正确的方法是实际尝试向远程通道写入内容。如果套接字关闭,它将抛出相应的异常(同样适用于读取,但它可以返回-1)某个时候客

可能重复:

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

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


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

唯一正确的方法是实际尝试向远程通道写入内容。如果套接字关闭,它将抛出相应的异常(同样适用于读取,但它可以返回-1)

某个时候客户端不向服务器发送任何东西。所以这个解决方案,我认为是行不通的exactly@Vo,它仍然会工作。因为它无论如何都会抛出异常。