@IzeBerg

Как проверить есть ли в ObjectInputStream новые данные?

Есть соединение клиент-сервер. Когда клиент подключается, его подключение добавляется в список подключений и начинается прослушивание входящего потока, так-же ставится флаг socket.setKeepAlive(true), то-же самое делается у клиента (только слушается одно соединение). Когда сервер получает объект, который ему передал клиент (обмен идет общим классом Paket) - он отправляет его в обработку, в результате ответ может прийти, а может и не прийти (в зависимости от данных в пакете), то-же делается у клиента.

Теперь суть запроса - как определить когда в ObjectInputStream появляются данные (и ?
Делал так:
object_input_stream.available() > 0
Результата не получил.
  • Вопрос задан
  • 2331 просмотр
Пригласить эксперта
Ответы на вопрос 1
jusio
@jusio
Senior Software Engineer at Restlet
Этого никак не сделать при помощи стандартных стримов. Так что есть два варианта: отдельный thread который постоянно читает из ObjectInputStream и складывает результаты в коллекцию, либо использовать java.nio.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы