Загрузчик. Диплом_Сайтиев_Release. Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#
Скачать 378.04 Kb.
|
2. 2. Описание модели системы обновления по.Пользователь делает запрос на проверку о наличии новых версий для приложения. Запрос направляется на сервер. Сервер выполняет проверку и, если новая версия доступна, отправляет клиенту сообщение о наличии новой версии, иначе отправляет сообщение о том, что новых версий нет. Пользователь делает запрос на обновление. Запрос направляется на сервер. Сервер выбирает необходимые компоненты и передаёт их клиенту. После передачи клиентское приложение выполняет замену или добавление новых компонентов. Администратор системы устанавливает новые версии приложении в хранилище и индексирует их в файле-перечне приложений. Система может работать в автоматическом режиме (по расписанию). Пример: Каждые понедельник, среду, пятницу выполнять проверку о наличии новых версий и, если они доступны, обновить. 2.3. Схема и описание системы.Рисунок 1. Схема системы относительно сервера. Серверная часть состоит из приложения-сервера, файла-перечня приложений (Apps.xml), и хранилища. Рассмотрим каждую часть подробней: Сервер. Сервер является TCP-сервером и выполняет функции прослушивания порта (порт назначается пользователем) и обработки входящих запросов. Запрос может быть двух типов: запрос о последней версии приложения и запрос обновления приложения. Файл-перечень приложений хранится на компьютере сервера в том же каталоге, где находится исполняемый файл сервера. В нём хранится информация о хранимых приложениях, их названиях и версиях. Для удобства чтения файла и возможности стороннего его редактирования информация представлена в виде XML-документа. Хранилище представляет из себя запоминающее устройство, на котором хранятся приложения. Выбор файловой системы хранилища и принципа хранения остаётся за администратором системы. Рисунок 2.Схема системы относительно клиента. Клиентская часть является TCP-клиентом и схожа с серверной частью, за тем исключением, что перечень хранит также информацию о последней версии в теге 2.4. Описание процесса взаимодействия между серверной и клиентской частью.Общая идея синтаксиса запросов: сначала идёт слово-название запроса, затем, после двоеточия, указываются параметры запроса, разделённые через запятую. В настоящей системе реализованы две основные команды запроса. Синтаксис команды запроса последней версии: version:<название_приложения> где <название_приложения> — название приложения, по которому необходимо получить информацию о последней версии. Синтаксис запроса обновления приложения: get:<название_приложения>,<версия> где <название_приложения> — название приложения для обновления,<версия> — требуемая версия приложения. 2.5. Описание приложения-клиента и приложения-сервера.Приложения написаны на языке VisualC#, являются приложениями платформе .NET, что позволяет им запускаться на всех устройствах, поддерживающих .NET. В приложениях были использованы классы: System.Net.UdpClient— представляет возможности по развёртыванию сервера, клиента и обработки запросов. System.Net.Sockets.IPEndPoint— представляет возможности для установления и настройки конечной точки сервера или клиента. System.Net.Sockets.IPAddress— представляет возможности для обработки информации обIP-адресах. И были реализованы основные методы: Run— проверяет доступность порта, устанавливает конечную точку и, если это возможно, запускает сервер/клиент. Stop— Останавливает сервер/клиент и освобождает ресурсы. Listen— Переводит сервер в режим прослушивания порта и обрабатывает входящие запросы. Update— Выполняет отправку запроса на обновление и выполняет принятие файла. GetVersion— Выполняет отправку запроса на получение последней версии приложения и обрабатывает эту информацию. Также были реализованы другие методы, не выполняющие основные функции, но упрощающие взаимодействие отдельных объектов приложения и улучшающих внешний вид и удобство приложения. Все необходимый настройки находятся прямо на основных окнах клиента и сервера с помощью стандартных компонентов, так что пользователь сможет с лёгкостью настроить сервер или клиент прямо в интерфейсе приложения. |