Я использую x11vnc и хочу разработать для него простой клиент.
Итак, работа такая:
- получить информацию из сокета
- отправить информацию
- получить следующие данные
- отправить другую информацию
и т. Д.
Так, например, я использую следующий простой код:
<pre>
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(socket.getInputStream()));
String test = null;</p>
<pre><code> try {
test = lnr.readLine();
System.out.println(test);
test = lnr.readLine();
System.out.println(test);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
System.exit(0);
Первое сообщение с сервера я получил без ошибок (сначала readLine). Следующее сообщение пустое (или без какого-либо конца строки для readLine), и у меня бесконечный цикл.
lnr.ready () не работает для меня.
Итак, как я могу читать из сокета, когда данные из сокета иногда не имеют "\ n", "\ r", "\ r \ n" или если буфер сокета пуст?