我正在使用带有Socket和ServerSocket的java编写一个小程序。 我有一个服务器和一些客户端,当用户(客户端)关闭窗口时,客户端和服务器之间的连接将被关闭。
我的问题是在服务器上,我无法检测到该关闭事件。谁能帮助我。
我可以从客户端向服务器发送消息,以在关闭连接之前通知此事件。但是如果用户从tast管理器(javaw.exe)结束进程,那么这个解决方案就不可能了。
答案 0 :(得分:2)
唯一且唯一真正的发现方法是实际尝试向远程通道写一些东西。如果套接字关闭,它将抛出适当的异常(同样适用于读取,但它可以返回-1)