如何检测断开事件

时间:2011-05-18 10:25:11

标签: java sockets serversocket

  

可能重复:
  Java: How do detect a remote side socket close?

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

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

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

1 个答案:

答案 0 :(得分:2)

唯一且唯一真正的发现方法是实际尝试向远程通道写一些东西。如果套接字关闭,它将抛出适当的异常(同样适用于读取,但它可以返回-1)