Восстановление сбойного InputStream - PullRequest
1 голос
/ 01 июня 2011

Я пишу сервер и использую ObjectInputStream для обработки проприетарных пакетов.Недавно я иногда получал неожиданные ClassCastException с, когда я хочу позвонить objectInputStream.readObject(), а затем пытался привести их к проприетарным пакетам.Я пытался отследить проблему, и мне было интересно, происходит ли это из-за сбоя objectInputStream из-за некоторой проблемы.В соответствии с документацией для метода objectInputStream.readObject() ... "Все исключения являются фатальными для InputStream и оставляют его в неопределенном состоянии; вызывающий может игнорировать или восстанавливать состояние потока."

Мне интересно, что они имеют в виду под "восстановить состояние потока" ... есть ли правильный способ для меня, чтобы восстановить objectInputStream или я должен сделать socket.getInputStream()?

1 Ответ

1 голос
/ 01 июня 2011

Если я правильно понимаю, ваши исключения вызваны не objectInputStream.readObject(), а приведением (успешно возвращенного) объекта к тому, что вы пытаетесь прочитать, поэтому исключение не должно влиять на поток.

...