Скачать 338.52 Kb.
|
4.3Модификации заданияМодификации задания отличаются друг от друга по нескольким критериям; так что каждая из модификаций представляет собой некоторую комбинацию из нижеследующих пунктов. Здесь звездочками * обозначено то, что является модификациями обязательных требований (остальное относится к дополнительным требованиям).
Примечание к критерию 4. Загрузка чего-либо на клиенте происходит либо сразу после соединения с сервером (если загружать надо с сервера), либо при запуске (если из файла). Загрузка чего-либо на сервере происходит при его запуске. 4.4Лабораторная работа 2.6. Port MapperКраткое описание Создать программу для перенаправления входящих (по какому-либо порту) соединений на другой компьютер. Мотивация Необходимо обеспечить доступ извне к HTTP-серверу, работающему на компьютере с виртуальным IP-адресом. С помощью Port Mapper-а можно организовать такой доступ с любого компьютера, на котором установлена Java-машина. Детальное описание Требуется написать серверное приложение (консольное приложение, не реагирующее на нажатие клавиш). Также можно написать «консоль администратора»: при подключении telnet-ом на определенный порт, можно осуществлять управление приложением. Для совсем продвинутых студентов – написать клиента. Должен быть главный класс SocketTransmitter, который слушает какой-то порт, который указывается при создании экземпляра этого класса (см. диаграмму на следующей странице). При поступлении входящего соединения (3) он открывает новое исходящее соединение (4) на порт другого компьютера (назовем его сервером; порт и IP-адрес сервера указываются в конструкторе класса SocketTransmitter) и запускает два потока, передающие данные в обе стороны (6-11). Запросы клиента (12) принимает один из потоков и перенаправляет их на сервер (13). Второй поток передает данные в другую сторону: от сервера к клиенту (14, 15). Запуск SocketTransmitte-’а не должен захватывать управление программой (он должен выполняться в отдельном потоке). Обязательно наличие функции, которая корректно завершает работу SocketTransmitte-’а. Все функции должны быть в обязательном порядке синхронизованы. Никаких race condition или deadlock-ов не должно быть. Требования Звездочками * отмечены обязательные требования, в скобках – количество баллов (может быть уменьшено, если требование реализовано не полностью, с ошибками, с замечаниями и т.п.).
(7+) Следующие пункты имеют смысл только при наличии администраторской консоли.
4.5Лабораторная работа 2.7. Игровой серверКраткое описание Реализовать клиентское и серверное приложения: «игровой сервер». Предлагается создать программу, которая предоставит возможность двум (или более) пользователям играть друг с другом по сети. Детальное описание Сервер содержит список игроков - тех, кто сейчас подключен к серверу. Игроки делятся на две группы: «играющие» и «свободные». Группа «Играющие» состоит из игроков, которые участвуют в какой-либо партии. Соответственно в группе «свободные» - игроки, которые сейчас не участвуют ни в одной партии. При подключении к серверу игрок попадает в группу «свободные». Игрок переходит в группу «играющие» когда он присоединяется к уже существующей партии или начинает новую. Соответственно, когда «партия» заканчивается, игрок возвращается в группу «свободные». Под термином «партия» подразумевается один сеанс связи между игроками (через сервер), в процессе которого они обмениваются информацией о сделанном ходе и текущем состоянии. Есть несколько вариантов контролирования этого процесса (обмена данными):
Сервер хранит некоторые данные об игроках: имя, пароль, ранг и др. Для вычисления ранга можно использовать, например, следующий алгоритм: каждому новому игроку дается определенное количество очков. Пусть k – коэффициент «значимости» партии (k << 1). При окончании партии сервер выполняет следующие изменения количества очков: если ничья, то каждому игроку прибавляется количество очков оппонента, умноженное на k/2. Иначе выигравшему начисляется количество очков проигравшего, умноженное на k. Требования Звездочками * отмечены обязательные требования, в скобках – количество баллов (может быть уменьшено, если требование реализовано не полностью, с ошибками, с замечаниями и т.п.).
Модификации задания В качестве модификаций задания предлагается реализовать различные игры (баллы также зависят от реализованной игры). В зависимости от сложности реализации контроля соблюдения правил за различные игры начисляется различное количество баллов. Cложные игры (шахматы, нарды, домино), где для написания клиента может потребоваться много времени, рекомендуются задавать только студентам из групп углубленного изучения Java. Игры:
|
Года), с одной стороны, и "Вкладчик" (либо "Вноситель" в случае внесения вклада на имя третьего лица), с другой стороны, вместе либо... | Изучение дисциплины базируется на знании материала дисциплин: «Физика», «Химия», «Математика», «Гидравлика», «Инженерная графика»,... | ||
Разработка с использованием abap-инструментальных средств (упражнения) 28 | В его основе лежит решение какой-либо задачи, проблемы (от греческого problema- «задача, задание») | ||
Характеристики компьютерных программ бронирования (на примере Fidelio Hotel Management System) 52 | «Global Positioning System», которое дословно можно перевести, как «глобальная система позиционирования» | ||
Перед началом работы с системой описания бизнес-объектов необходимо проверить у себя на машине | Эссе — (фр essai – попытка, проба), небольшое прозаическое сочинение свободной композиции, выражающее впечатления автора от чего... | ||
Оон st/SG/AC. 10/30 «Globally Harmonized System of Classification and Labelling of Chemicals (Согласованная на глобальном уровне... | Работы по техническому обслуживанию программного комплекса интегрированной диспетчерской службы на базе модуля pi-system |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |