【问题标题】:How to detect the disconnect event [duplicate]如何检测断开事件[重复]
【发布时间】:2011-08-27 22:37:26
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java sockets serversocket


    【解决方案1】:

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

    【讨论】:

    • 有时客户端不会向服务器发送任何东西。所以这个解决方案,我认为它不会完全起作用
    • @Vo,它仍然可以工作。因为它无论如何都会抛出异常。
    猜你喜欢
    • 2012-02-11
    • 1970-01-01
    • 2017-10-29
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2010-12-23
    相关资源
    最近更新 更多