1

我正在编写一个服务器,我正在使用一个ObjectInputStream来处理专有数据包。最近,ClassCastException当我想打电话时,我有时会收到一些意想不到的 s objectInputStream.readObject(),然后尝试将它们转换为专有数据包。我一直在尝试追踪问题,我一直在想是否是因为objectInputStream由于某些问题而崩溃。根据该方法的文档objectInputStream.readObject()......“所有异常对 InputStream 来说都是致命的,并使其处于不确定状态;由调用者来忽略或恢复流状态。”

我想知道“恢复流状态”是什么意思......我是否有合适的方法来恢复 objectInputStream 或者我应该做一个socket.getInputStream()

4

1 回答 1

1

如果我理解正确,您的异常不是由 引起的objectInputStream.readObject(),而是通过将(成功返回的)对象转换为您要读取的任何内容,因此异常不应影响流。

于 2011-06-01T02:04:50.323 回答