Я создаю простой текстовый симулятор битвы (похожий на покемона) в Java.Я написал сервер с несколькими потоками.Один для принятия 2 игроков и 1 коммуникационный поток для каждого игрока на стороне сервера.
Создание сервера работает, игроки могут успешно подключиться, и после этого информация о статистике игроков отправляется от клиента, к серверу, а затем к другому клиенту, который также работает.
Битва теперь начинается, и это - то, где это становится грязным.Когда игрок 1 отправляет ввод, используя (2 варианта на выбор), я получаю исключения, потому что строка, которая должна сообщить другому игроку, что сделал первый игрок, получена методом, который должен послать int для обновления итога здоровьяоба игрока. Я прошел через код с тонкой расческой и не могу понять, в чем проблема.Для каждого отправленного сообщения Comthread ожидает сообщения для прочтения.
Мой вопрос: может ли это быть потому, что потоки не синхронизированы?Если так, как я могу написать лучший способ общения?