【发布时间】:2009-11-01 13:37:19
【问题描述】:
我有一个应用程序处理多个 Java 套接字连接到不同类型的远程机器(一些 PC,其他是嵌入式设备)。这些套接字和流不应无限期关闭,除非有很好的理由(例如远程系统崩溃)。
我经常遇到输入流意外结束的问题,没有任何原因(值为 -1),即远程机器没有发出连接中止的信号。但是当我丢弃这些 -1 读取并继续从流中读取时,远程机器实际上稍后会发送新数据。这可以持续很长时间。我也仍然可以写入输出流。
在当前情况下,我可以选择将 -1 视为流结束并关闭套接字(带有误报),或者忽略 -1 输入并冒着不会被通知真正断开连接的风险。
我无法创建此问题的工作示例,并且问题随机出现。
有什么想法吗?
编辑添加: Java 端点是对没有这些问题的现有 VB 应用程序的重写(至少据我所知)。
【问题讨论】:
-
我认为查看您的源代码会有所帮助。
-
谢谢,但正如我所说,我还没有为这个问题创建一个简单、有效的示例,而且整个代码太多了。
-
“代码太多”,可能是您的问题的一部分。它不应该那么复杂。