【发布时间】:2011-04-27 07:27:48
【问题描述】:
我正在开发一个实时 Android 应用程序,但在检测连接到 TCP 网络 Socket 的 ObjectOutputStream 上的错误时遇到问题。我像往常一样在流上调用writeObject,然后是flush,但是当接收节点意外死亡时,我需要立即(在几秒钟内)知道它。不幸的是,当节点关闭服务器对writeObject 和flush 的调用时,不会抛出IOExceptions 而是成功。
我假设这些调用会发生内部缓冲,这就是它成功的原因?在成功创建Socket 后,有什么方法可以通过writeObject 或其他方式知道节点何时关闭?
值得注意的是,出于性能原因,TCP Sockets 保持打开状态,因此无法为每个 writeObject 设置 connect 超时。
【问题讨论】:
-
显示您的代码。其他人可以更轻松地帮助您。
标签: java android sockets networking stream