Спонсор: Mail.ru
Технопарк Mail.ru Group
Опубликован: 09.07.2013 | Доступ: свободный | Студентов: 5593 / 208 | Длительность: 17:36:00
Самостоятельная работа 4:

Постановка задачи

< Самостоятельная работа 1 || Самостоятельная работа 4

Расширить приложение из Практической работы 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.

< Самостоятельная работа 1 || Самостоятельная работа 4
Юлия Момотова
Юлия Момотова

Добрый день, подскажите пожалуйста, чтобы использовать Jetty, нужно создать именно Dynamic Web Project?  

Дмитрий Белкин
Дмитрий Белкин

Добрый день, подскажите пож, как можно получить исходный код, программы на которой мы учимся?

 

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Сергей Мищенко
Сергей Мищенко
Россия