-
Notifications
You must be signed in to change notification settings - Fork 0
niktrop/remote-access
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
<html> <body style="width:600px"> <h1>Remote access</h1> <p>Клиент-серверное приложение для удаленной работы с файловой системой. Предполагает одновременное подключение к серверу не более одного клиента.</p> <h2>Настройка</h2> <p>Настройка осуществляется с помощью редактирования файлов <em>server.properties</em> и <em>client.properties</em>. Можно настроить сетевое соединение, а также указать список папок, которые будут доступны из программы. Подробности содержатся в самих файлах.</p> <h2>Интерфейс</h2> <p>Клиентский интерфейс позволяет перемещаться по образам файловой системы клиента и сервера, которые используются в программе, а также совершать различные действия с файлами и папками: копирование, переименование, удаление. Управление совершается с помощью мыши. Двойной клик на папке показывает ее содержимое, на файле - открывает файл, если он находится на клиенте.</p> <p>Происхождение образа файловой системы (клиент или сервер) можно определить по цвету поля в выпадающем списке. Светло-зеленый цвет символизирует локальные файлы, светло-синий - файлы с сервера.</p> <p>Интерфейс серверной части минимален, позволяет только выйти из программы.</p> <h2>Структура программы</h2> <p>Клиент и сервер устроены практически одинаково. Основные различия в интерфейсе и установке соединений.</p> <h4>Образы файловой системы</h4> <p>Для представления частей файловой системы, с которыми работает программа, используются классы из пакета remote_access.file_system_model. Древовидная структура реализована на базе библиотеки nu.xom, которая позволяет получать представление образов файловой системы в xml.</p> <h4>Сетевое взаимодействие</h4> <p>Работа с сетью осуществляется на базе библиотеки Netty. Программа использует два различных соединения: одно для передачи команд и образов файловой системы, другое - для передачи файлов.</p> <h4>Команды</h4> <p>Классы, которые реализуют интерфейс SerializableCommand, используются в основном для взаимодействия с файловой системой и управления образами файловой системы, а также для отображения сообщений. Могут исполняться локально или посылаться по сети.</p> <h4>Controller</h4> <p>Класс Controller объединяет в себе различные части программы. Он содержит ссылки на следующие компоненты:</p> <ul> <li>Коллекция образов файловой системы (на сервере - только своих, на клиенте - своих и с сервера)</li> <li>CommandManager для исполнения и отправки команд</li> <li>FileTransferManager для отправки файлов</li> <li>NotificationManager для отображения сообщений пользователю</li> <li>FileSystemWatcher и FSChangeHandler - для отслеживания изменений файловой системы и их отражения в программе</li> <li>Дает возможность регистрировать слушателей и уведомлять их об изменениях своего состояния.</li> </ul> </body> </html>
About
Client-server application for access to remote file system.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published