我有一个应用程序处理多种Java套接字连接到不同种类的远程机器(某些PC,其他是嵌入式设备)。这些套接字和流不应该无限期关闭,除非有一个很好的原因(例如远程系统崩溃)。Java套接字流意外终止
我经常遇到,其中输入流意外结束,不需要任何理由(值是-1),即在远程机器并不表示一连接中止的问题。但是,当我放弃这些-1读取并继续从流中读取时,远程机器实际上稍后会发送新数据。这可能会持续很长时间。我也可以写入输出流。
在当前形势下,我有治疗-1作为流的末尾之间的选择和关闭套接字(误报),或忽略-1投入和风险尚未收到通知的真正断开的。
我一直没能创造这一问题的工作示例和出现的问题随机。
任何想法有什么不对?
修改为添加: Java端点是对现有VB应用程序的重写,没有这些问题(至少据我所知)。
我认为在你的源代码中窥视会有所帮助。 – 2009-11-01 13:57:17
谢谢,但正如我所说,我还没有创建一个简单的,工作的问题的例子,整个事情是太多的代码。 – 2009-11-01 14:36:23
“太多代码”,可能是您的问题的一部分。它不应该那么复杂。 – 2009-11-01 16:03:27