Я работаю над приложением Battleship swing, которое общается через сокеты.
private ServerSocket server;
private Socket connection;
private PrintWriter out;
private Scanner in;
Я делаю подключение и установку выходных и входных потоков
out = new PrintWriter(connection.getOutputStream(), true);
in = new Scanner(connection.getInputStream());
Затем пользователь нажимает на поле, которое, по его мнению, есть корабль, а координаты отправляются
public void sendXY(String cord)
{
out.print(cord);
}
Затем вызывается метод, который ждет, пока приложение противников ответит, если есть судно или нет (true | false).
public void readHit()
{
boolean k = true;
while(k)
{
if(in.hasNext()) //<--app hangs at this line
{
Fields.hit = in.nextBoolean();
k = false;
}
}
}
Но когда я проверяю это, мое приложение зависает при первом вызове in.hasNext().