如何在没有Internet连接时检测socket异常

时间:2010-03-11 07:33:56

标签: java sockets

您好我已经创建了一个套接字服务器和客户端程序。我的套接字服务器在不同的计算机上运行,​​在我的计算机套接字客户端就在那它工作正常 但问题是 如果从客户端计算机的开头没有互联网连接,那么在我创建套接字连接期间,我会收到错误。

只有一次我将创建套接字连接然后为无限我试图将数据发送到服务器和服务器完美地接收数据。但在这些之间,如果在任何时候我断开客户端互联网然后我也无法得到任何异常,以便我可以知道我的互联网连接断开连接或我的套接字连接不存在或我的套接字连接变为空。那么如何在这个时间点检测互联网连接失败......

由于 Sunil Kumar Sahoo

1 个答案:

答案 0 :(得分:0)

您应该使用setKeepAlive(true)方法。然后,您应该根据您的操作系统配置保持活动超时。我记得Windows有一个非常大的保持活动超时,所以仅设置keep-alive选项就没有用了。

另一个选择是自己在应用程序级别实现keep-alive函数,而不是依赖TCP层来执行此检查。