Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка системы обновления ПО.docx
Скачиваний:
24
Добавлен:
23.03.2016
Размер:
120.23 Кб
Скачать

2.4. Описание процесса взаимодействия между серверной и клиентской частью.

Общая идея синтаксиса запросов: сначала идёт слово-название запроса, затем, после двоеточия, указываются параметры запроса, разделённые через запятую.

В настоящей системе реализованы две основные команды запроса.

Синтаксис команды запроса последней версии:

version:<название_приложения>

где <название_приложения> — название приложения, по которому необходимо получить информацию о последней версии.

Синтаксис запроса обновления приложения:

get:<название_приложения>,<версия>

где <название_приложения> — название приложения для обновления,<версия> — требуемая версия приложения.

2.5. Описание приложения-клиента и приложения-сервера.

Приложения написаны на языке VisualC#, являются приложениямиWindowsFormsна платформе .NET, что позволяет им запускаться на всех устройствах, поддерживающих .NET.

В приложениях были использованы классы:

  • System.Net.UdpClient— представляет возможности по развёртыванию сервера, клиента и обработки запросов.

  • System.Net.Sockets.IPEndPoint— представляет возможности для установления и настройки конечной точки сервера или клиента.

  • System.Net.Sockets.IPAddress— представляет возможности для обработки информации обIP-адресах.

И были реализованы основные методы:

  • Run— проверяет доступность порта, устанавливает конечную точку и, если это возможно, запускает сервер/клиент.

  • Stop— Останавливает сервер/клиент и освобождает ресурсы.

  • Listen— Переводит сервер в режим прослушивания порта и обрабатывает входящие запросы.

  • Update— Выполняет отправку запроса на обновление и выполняет принятие файла.

  • GetVersion— Выполняет отправку запроса на получение последней версии приложения и обрабатывает эту информацию.

Также были реализованы другие методы, не выполняющие основные функции, но упрощающие взаимодействие отдельных объектов приложения и улучшающих внешний вид и удобство приложения.

Все необходимый настройки находятся прямо на основных окнах клиента и сервера с помощью стандартных компонентов, так что пользователь сможет с лёгкостью настроить сервер или клиент прямо в интерфейсе приложения.

2.6. Описание реализованных классов.

В приложениях системы были реализованы следующие классы:

  1. AppInfo. Класс реализован в приложении-клиенте и выполяет функцию инкапсулирования данных об одном приложении. Хранение таких данных в списке (List<AppInfo>) позволяет удобно сериализовать и десериализовать данные в файл-перечень приложений, используя стандартные средства языкаVisualc# (КлассXMLSerializer, методыSerializeиDeserializeсоответственно).

    Поля

    Тип данных

    Описание

    name

    string

    Название приложения

    version

    int

    Текущая версия приложения

    lastVersion

    int

    Последняя доступная версия приложения. 0, если последняя версия неизвестна

    location

    string

    Расположение приложения

  2. AppServer. Класс очень похож на классAppInfoи выполняет смежные функции. Класс реализован в приложении-сервере и выполяет функцию инкапсулирования данных об одном приложении, хранимом на сервере. Хранение таких данных в списке (List<AppInfo>) позволяет удобно сериализовать и десериализовать данные в файл-перечень приложений, используя стандартные средства языкаVisualc# (КлассXMLSerializer, методыSerializeиDeserializeсоответственно). В отличие от классаAppInfoэтот класс не содержит информации об установленной версии.

Поля

Тип данных

Описание

name

string

Название приложения

version

int

Текущая версия приложения

location

string

Расположение приложения