Сервер-клиентское приложение(Java)
11 USDA. Разработайте клиентское и серверное приложения со следующими условиями:
Б. Клиентское приложение:
- Он запускается с двумя параметрами: имя пользователя и путь к локальной папке
- У каждого клиента есть своя локальная папка с файлами
- Приложение наблюдает за локальной папкой и реагирует на изменения. По мере появления новых файлов и отправляет их на сервер
- Когда появляется новый файл для данного пользователя(на сервере), он загружается в локальную папку(клиента)
- После запуска приложения сервер спрашивает сервер на наличие новых файлов и загружает их
- Отправка / получение происходит с использованием пула потоков
- Клиентское приложение имеет графический интерфейс (например, Java FX), показывающий в режиме реального времени, чем занимается клиент («Загрузка ...», «Отправка ...», «Проверка ...»)
и отображение списка текущих файлы в локальной папке. Графическая панель также предназначена для предоставления возможности совместного использования данного файла с другим пользователем.
Список доступных пользователей должен быть загружен с сервера.
C. Сервер:
- 5 папок, которые имитируют 5 серверов или 5 дисков
- Клиент отправляет, например, 10 файлов, поэтому сервер запускает нужное количество потоков(thread), на которых он одновременно копирует файлы на эти диски (папки).
- Контроллер должен распределять трафик таким образом, чтобы для каждого из дисков (папок) одновременно копировалось одинаковое количество файлов.
- Если второй клиент подключается для отправки файлов, он не может дождаться окончания задачи первого клиента. Список задач на сервере должен быть реорганизован так,
чтобы у обоих клиентов было впечатление немедленного обслуживания (предложите подходящий алгоритм)
- На каждом диске сервера есть текстовый файл (например, csv), в котором описано содержимое данного диска и кто является его владельцем. Обратите внимание,
что файл будет обновляться несколькими потоками. Решите эту проблему.
- Чтобы визуализировать симуляцию для небольшого числа пользователей, время копирования должно быть искусственно увеличено путем помещения потока в случайное количество секунд.
- Сервер имеет графическую панель (например, Java FX), отображающую содержимое 5 дисков (серверов) и выполненные в данный момент операции.
D. Предложите список модульных тестов, разработанных в JUnit, отдельно для клиента и сервера, охватывающий ключевые операции, выполняемые каждым из них.
*Проект должен содержать описание программ, документация Javadoc (с соответствующими комментариями согласно Javadoc) и документацию описания в doc/odt.
И дополнительно
*исправить 1 баг(расскажу в личке)
-Цена подлежит обдуманной корректировке
Applications 1
Current freelance projects in the category Java
Development of an Android application player for the online TV service
609 USD
We need an Android developer to create a native Android application for an online TV service. Two versions are planned: for mobile devices: smartphones and tablets; for Android TV / Android STB: set-top boxes. Estimated timeline: up to 3 months. Estimated budget: 150,000… Java, App Development for Android ∙ 26 days 5 hours back ∙ 31 proposals |