我正在使用基于GUI和数据库的Java开发一个多客户端服务器程序。客户端对程序的要求是确保始终与服务器建立连接,如果连接丢失(服务器出现故障/出现套接字或流问题),应通知它。
换句话说,我需要一个连续检查服务器连接的解决方案。
最好的方法是什么?
答案 0 :(得分:0)
TCP / IP中没有此类API。检测TCP中连接失败的唯一方法是尝试使用它。您可以考虑在协议中添加心跳,但最好与客户端人员一起查看要求。 TCP / IP在设计上没有“拨号音”,在应用程序级别添加一个是非常重要的,容易出错,并且会带来时间和空间开销。
答案 1 :(得分:-1)
实施心跳协议......
如果您不这样做,可以使用连接侦听器线程
Socket.isConnected
答案 2 :(得分:-1)
检查插座连接是否已关闭。
if(Socket.isClosed()) {
//reconnect or alert the user
} //end if