Я фрагментчтения InputStream сокета
try {
is = new BufferedReader(new inputStreamReader(getSocket().getInputStream()));
}
catch(IOException e) {}
while(true) {println(is.readLine());}
В принципе, я Тринг Println каждое сообщение, которое посылается на входной поток сокета возвращается из getSocket(). Мой вопроса:
- Если нет сообщения, отправленного на сокет, какое значение возвращается вызова метода ReadLine()? Это нулевое значение или нулевая строка (т. Е. "") Или это что-то еще?
- Когда сообщение было отправлено и распечатано , что произошло с входным потоком сокета? Опустошен ли он?
- Нужно ли способ проверить на только вызов метода println() только тогда, когда входной поток HAS что-то распечатать?
Спасибо большое! Но я хотел бы больше узнать в 1-м ответе. Что вы ожидаете? Если у меня есть (true) {println ("debug"); Println (is.readLine()); }, то до того, как первое сообщение будет отправлено в поток, сколько «debug» s распечатывается? –
@TranTriet только один. –
@TranTriet посмотреть, как сервер написан здесь: https://systembash.com/a-simple-java-tcp-server-and-tcp-client/ Существует цикл, который слушает клиент. После того, как клиент подключен, программа продолжает ждать с помощью метода readLine(). –