У меня есть клиентское приложение TCP, которое успешно согласовывает соединение с сервером и получает буферизованный вывод, но мне нужно знать, как читать ответы сервера, не ожидая заполнения буфера или завершения соединения с сервером.
В этом цикле:
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
...some code here...
}
мое приложение просто зависает.
Как прочитать только одну строку или пустую строку, если буфер пуст и продолжает выполнять программу?
Можно ли тайм-аут этого чтения, чтобы дать серверу время для ответа?