Добрый день, подскажите пожалуйста, чтобы использовать Jetty, нужно создать именно Dynamic Web Project? |
Постановка задачи
Расширить приложение из Практической работы 2. Добавить еще один абонент и поток - GameMechanics.
Добавить адрес этого абонента в AddressService.
Написать абстрактное сообщение MsgToGM и реализацию - MsgStartGameSession.
Frontend должен посылать сообщение MsgStartGameSession на GameMechanics в тот момент, когда к серверу присоединилось достаточно пользователей для старта новой игры (например, 2 пользователя для игры в шахматы). Получив это сообщение, игровая механика должна создать игровую сессию для пользователей, Id которых пришли в сообщении.
Написать сообщение на Frontend, и пересылать в нем из GameMechanics реплику состояния игровой сессии каждые 100ms (пока достаточно реализовать через Thread.sleep(100)).
Для проверки работы пересылки сообщений при старте игровой сессии запоминать время старта, пересылать из игровой механики текущую длительность игровой партии и показывать ее на странице.
Получать текущее время в миллисекундах можно так:
Date date = new Date(); long currentTime = date.getTime();
в методе run() после обработки сообщений, для каждой игровой сессии вычислять время прошедшее с ее начала и отправлять обновление на Frontend.
2003 – 2024
Телефон: +7 (499) 253-9312, WhatsApp, Telegram, Viber: +7 (977) 954-84-50, факс: +7 (499) 253-9310, e-mail: info@intuit.ru, Skype: Intuit.ru