чтение из входного потока сокета без занятого ожидания в JAVA - PullRequest
1 голос
/ 21 декабря 2009

Я хочу читать из входного потока при подключении к сокету сервера. но могут существовать некоторые задержки между сообщениями, как я могу читать из входного потока без занятого цикла?

string mes = socketReader.readLine();

над строкой возвращает ноль, если в потоке ввода сокета нет ввода. я хочу как-то получить уведомление, когда сообщение готово во входном потоке.

Тпй

Ответы [ 2 ]

2 голосов
/ 21 декабря 2009
1 голос
/ 21 декабря 2009

В контексте графического интерфейса SwingWorker может помочь: пусть doInBackground() выполняет чтение, использует process() для промежуточного повторного использования и done() для завершения. Вы можете зарегистрировать PropertyChangeListener, чтобы управлять индикатором прогресса. Эта статья расширяет идею, и доступен задний порт для Java 1.5. Вот простой пример , который читает из источника JDBC вместо потока, но идея та же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...