Я использую сканер для подключения сокетов в программе Client/Server.Когда блок Scanner.nextLine() блокируется?
Я хочу, чтобы Scanner.next() блокировался, поэтому поток сервера может ждать чего-то, что нужно прочитать.
Тем не менее, иногда дает мне:
java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1585)
at cscie55.hw4.Server.serviceClient(Server.java:146)
at cscie55.hw4.Server.main(Server.java:106)
документация Java говорит, что следующие() "иногда" блоки, и не сказать, является ли nextLine (блоков).
Некоторый код онлайн обертывает его в случае, если он проверяет значение null, но я читал, что он никогда не возвращает null. Что я должен сделать, чтобы блокировать работу IO в моем соке?
В частности,
Когда Scanner.nextLine() блок, а не бросать NoSuchElementException?
Вы можете оставить свой код? Вы назначаете сканер в нескольких местах? – sasankad