【发布时间】:2015-05-04 00:45:33
【问题描述】:
我需要一些帮助来解决以下问题:
我在构造函数中打开一个 tcp-socket,然后继续通过对象输出流向服务器提供一个对象。我无法控制服务器,也没有收到任何回复。
如何检测到连接丢失?尝试写入时总是会收到 IOExeption-Error 吗?因为根据 javadoc,一旦连接成功,大多数检查对我来说基本上是无用的。
此外,重新连接套接字的最佳方法是什么?将引用设置为“Null”然后创建一个新的?
这是我目前的做法:
我有一个状态列表,其中有以下状态: 套接字成功;套接字失败;消息成功;消息失败;
我的想法有点像状态机,所以首先检查最后一个状态是什么。如果连接成功或最后一条消息成功,则尝试发送消息。当我收到 IOExeption 然后设置状态 MessageFailure 时,将消息保存在本地,直到我再次成功连接。
或者对于这种情况有什么推荐的模式?
【问题讨论】:
-
“因为根据 javadoc 一旦连接成功,大多数检查对我来说基本上没用”是什么意思?为什么没用?