Сервер-клиентское приложение(Java)
500 UAHA. Разработайте клиентское и серверное приложения со следующими условиями:
Б. Клиентское приложение:
- Он запускается с двумя параметрами: имя пользователя и путь к локальной папке
- У каждого клиента есть своя локальная папка с файлами
- Приложение наблюдает за локальной папкой и реагирует на изменения. По мере появления новых файлов и отправляет их на сервер
- Когда появляется новый файл для данного пользователя(на сервере), он загружается в локальную папку(клиента)
- После запуска приложения сервер спрашивает сервер на наличие новых файлов и загружает их
- Отправка / получение происходит с использованием пула потоков
- Клиентское приложение имеет графический интерфейс (например, Java FX), показывающий в режиме реального времени, чем занимается клиент («Загрузка ...», «Отправка ...», «Проверка ...»)
и отображение списка текущих файлы в локальной папке. Графическая панель также предназначена для предоставления возможности совместного использования данного файла с другим пользователем.
Список доступных пользователей должен быть загружен с сервера.
C. Сервер:
- 5 папок, которые имитируют 5 серверов или 5 дисков
- Клиент отправляет, например, 10 файлов, поэтому сервер запускает нужное количество потоков(thread), на которых он одновременно копирует файлы на эти диски (папки).
- Контроллер должен распределять трафик таким образом, чтобы для каждого из дисков (папок) одновременно копировалось одинаковое количество файлов.
- Если второй клиент подключается для отправки файлов, он не может дождаться окончания задачи первого клиента. Список задач на сервере должен быть реорганизован так,
чтобы у обоих клиентов было впечатление немедленного обслуживания (предложите подходящий алгоритм)
- На каждом диске сервера есть текстовый файл (например, csv), в котором описано содержимое данного диска и кто является его владельцем. Обратите внимание,
что файл будет обновляться несколькими потоками. Решите эту проблему.
- Чтобы визуализировать симуляцию для небольшого числа пользователей, время копирования должно быть искусственно увеличено путем помещения потока в случайное количество секунд.
- Сервер имеет графическую панель (например, Java FX), отображающую содержимое 5 дисков (серверов) и выполненные в данный момент операции.
D. Предложите список модульных тестов, разработанных в JUnit, отдельно для клиента и сервера, охватывающий ключевые операции, выполняемые каждым из них.
*Проект должен содержать описание программ, документация Javadoc (с соответствующими комментариями согласно Javadoc) и документацию описания в doc/odt.
И дополнительно
*исправить 1 баг(расскажу в личке)
-Цена подлежит обдуманной корректировке
Приложения 1
Актуальные фриланс-проекты в категории Java
Разработка Android-приложения плеера для сервиса онлайн-ТВ
27 000 UAH
Нужен Android-разработчик для создания нативного Android-приложения для сервиса онлайн-ТВ. Планируется две версии: для мобильных устройств: смартфоны и планшеты; для Android TV / Android STB: телевизионные приставки. Ориентировочные сроки: до 3 месяцев. Ориентировочный… Java, Разработка под Android ∙ 24 дня 19 часов назад ∙ 31 ставка |