Java-программа не выполняет код внутри цикла while - PullRequest
0 голосов
/ 05 июня 2019

Я работаю над программой, в которой два клиента подключаются друг к другу с помощью сокетов. У меня есть цикл while, который заставляет клиентов ждать успешного установления соединения между собой, прежде чем продолжить, но код внутри цикла, похоже, не работает правильно.

Я попытался поместить операторы печати в цикл while, что заставляет код работать так, как я ожидаю, но когда я их удаляю, кажется, что цикл while больше не проверяет условие, которое я установил, и таким образом продолжает зависать.

boolean keepRunning = true;
while (keepRunning)
{
  if (alice.ready())
  {
    keepRunning = false;
  }
}
public void ready()
{
  return (socket1 != null) && (socket2 != null);
}

Код должен продолжать проверять, готовы ли два клиента, и затем продолжать работу в программе, но в настоящее время с кодом, приведенным выше, клиенты соединяются друг с другом, но затем никогда не выходят из цикла, что приводит меня к мысли, что внутренний код запускается не совсем так, как я ожидаю. Опять же, когда я помещаю операторы print в основной цикл while, код работает так, как я ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...