СОЗДАНИЕ ПРИЛОЖЕНИЯ ДЛЯ ПЕРЕДАЧИ СООБЩЕНИЙ И ФАЙЛОВ ПО ЛОКАЛЬНОЙ СЕТИ - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

СОЗДАНИЕ ПРИЛОЖЕНИЯ ДЛЯ ПЕРЕДАЧИ СООБЩЕНИЙ И ФАЙЛОВ ПО ЛОКАЛЬНОЙ СЕТИ

Рецлав А.А. 1, Шубина Н.В. 1
1Нижнетагильский государственный социально-педагогический институт (филиал) Российский государственный профессионально-педагогический университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Обмен данными по локальной сети или сети Интернет является неотъемлемой частью современных информационных технологий. Именно благодаря развитию технологий обмена данными в течение нескольких последних десятилетий человечеству удалось совершить качественный скачок во многих, если не во всех, отраслях деятельности человека. Именно поэтому овладение навыками создания приложений, работающих в компьютерных сетях, является важной и актуальной задачей для специалистов в области информационных технологий.

Целью настоящей работы является создание приложения для передачи сообщений и файлов по локальной сети.

Для выполнения работы необходимо решить следующие задачи:

  1. выполнить проектирование приложения: сформулировать основные принципы его работы, выделить его основные составляющие;

  2. разработать приложение в соответствии с вышеперечисленными положениями, написать код программы, скомпилировать код в исполняемый файл;

  3. провести тестирование и отладку приложения;

  4. написать краткую инструкцию по работе с приложением.

Результатом выполнения перечисленных задач должен являться законченный программный продукт, готовый к использованию.

Разрабатываемое приложение TCPMessenger должно уметь выполнять следующие функции:

  1. запускать серверную часть;

  2. подключать клиентскую часть к серверу, с указанием ip–адреса сервера;

  3. осуществлять выбор клиента из списка подключенных клиентов по имени и фамилии;

  4. осуществлять обмен сообщениями между клиентом и сервером;

  5. осуществлять обмен файлами между клиентом и сервером;

  6. хранить историю сообщений;

  7. позволять выполнять удаленное управление компьютером клиента со стороны сервера;

  8. оповещать клиента и сервер о происходящих событиях и возникающих ошибках;

  9. позволять выполнить индивидуальную настройку оформления текста на клиентском компьютере;

  10. иметь простой и интуитивно понятный пользовательский интерфейс, предоставляющий доступ ко всем основным функциям приложения.

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

В разрабатываемом приложении необходимо предусмотреть возможность передачи как простых текстовых сообщений, так и файлов. Файлы, как правило, имеют значительно больший размер, чем текстовое сообщение. Поэтому отправку и прием файла необходимо производить частями (блоками). Кроме того, при передаче файла необходимо передавать различную информацию о нем: его имя, расширение и др. Таким образом, сетевой поток, состоящий и пакетов байто, в данном случае будет насыщен различной информацией, и содержимое этого потока можно узнать только после последующей дешифровки. Используя протокол TCP, можно надежно осуществлять обмен тестовыми сообщениями и файлами [3, 6].

Отдельно следует выделить задачу удаленного управления клиентским компьютером со стороны сервера. Эта задача будет решена путем передачи картинки рабочего стола от клиента серверу. Клиент в свою очередь выбирает положение на экране и осуществляет щелчок мышью, либо нажатие клавиши на клавиатуре. Это действие передается клиенту. В свою очередь клиент отслеживает появление таких сообщений и передает соответствующую команду операционной системе [10].

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

Для построения диаграммы вариантов использования определим в качестве экторов пользователя системы удаленного управления. В качестве прецедентов определим их основные задачи в данной системе.

Рисунок 1. Диаграмма вариантов использования системы удаленного управления

Как видно из рисунка 1, основными типами пользователей системы является сервер и клиенты [3]. Основными задачами сервера являются:

  • отслеживание соединений с клиентами;

  • управление списком клиентов;

  • выбор клиента из списка для последующей передачи ему информации, в том числе и по имени;

  • хранение истории сообщений с клиентами;

  • передача сообщений и файлов клиентом, отслеживание достоверности осуществления этой операции;

  • получение сообщений и файлов от клиента, информирование клиента об удачном завершении операции

  • удаленное управление компьютером клиента.

Основными задачами клиента являются:

  • соединение с сервером и отсоединение от сервера;

  • получение сообщений и файлов, переданных сервером, информирование сервера о завершении операции;

  • отправка сообщений и файлов серверу;

  • обработка команд удаленного управления;

  • индивидуальная настройка.

В качестве такого языка был выбран язык программирования C# [7].

Для хранения данных программы была выбрана СУБД MSAccess 2013.

Описываемый стандартом ANSI язык StructuredQueryLanguage (SQL) включает базовые средства манипулирования данными, управления транзакциями и извлечения записей из базы данных [11].

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

Рисунок 2. Диаграмма классов приложения мгновенной отправки сообщений

Структуру разрабатываемой системы, можно представить в виде диаграмм UML, а именно диаграмм компонентов.

Диаграмма компонентов позволяет определить архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный, бинарный и исполняемый код. Основными графическими элементами диаграммы компонентов являются компоненты, интерфейсы и зависимости между ними [8].

Таким образом, структура разрабатываемой нами системы примет вид, как показано на рисунке 3.

Рисунок 3. Диаграмма компонентов программы мгновенной рассылки сообщений

Рассмотрим назначение каждого модуля программы мгновенной пересылки сообщений [2, 12].

  • Модуль Form1.cs содержит описание основной формы приложения, а также элементов управления, расположенных на ней. Реализует обработчики событий элементов управления формы и самой формыМодуль Global.cs– описание процедур, функций и переменных, используемых остальными модулями приложения, реализует интерфейс соединения с БД.

  • Модуль Server.cs реализует класс Server. Используется при запуске приложения в качестве сервера.

  • Модуль Client.cs реализует класс Client. Используется при запске приложения в качестве клиента.

  • Модуль Transfer.cs реализует классы MessageSender, MessageReceiver, FileSender, FileReceiver и используется при передаче данных в виде сообщений или файлов от клиента к серверу либо наоборот.

  • Модуль Controller.cs реализует класс Controller и используется при удаленном управлении клиентом со стороны сервера.

База данных программы мгновенной отсылки сообщений разработана средствами MSAccess [1, 9] и представлена двумя таблицами. Таблица «Users» содержит список зарегистрированных пользователей. Таблица «History» содержит сообщение передаваемые от клиента к серверу и наоборот. Таблицы «Users»и «History»связаны между собой связью «один-ко-многим». Схема связи между таблицами представлена на рисунке 4.

Рисунок 4. Схема связи между таблицами БД

Все операции с базой данных реализованы посредством компонента OleDbCommand.

Так, например, добавление нового пользователя выполняется командой

INSERT INTO `users` (`login`, `pass`, `fio`) VALUES (?, ?, ?).

Удаление осуществляется следующей командой:

DELETE FROM `users` WHERE ((`id` = ?)AND ((? = 1 AND `login` IS NULL) OR (`login` = ?)) AND ((? = 1 AND `pass` IS NULL) OR (`pass` = ?)) AND ((? = 1 AND `fio` IS NULL) OR (`fio` = ?))).

Запись переданного сообщения в историю выполняется командой

INSERT INTO `History` (`direction`, `user`, `datavremya`, `content`) VALUES (?, ?, ?, ?)

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

Интерфейс приложения разрабатывался с использованием стандартных компонентов .NET. Отсутствие нестандартных компонентов в проекте облегчает процесс дальнейшей доработки приложения, т. к. отпадает необходимость при распространении исходных кодов приложения распространять еще и дополнительные библиотеки [12].

После запуска приложения на экране появится окно. При помощи элементов типа переключателей RadioButton выбирается режим, в котором будет выполняться приложение: клиент или сервер. При выборе клиента необходимо указать параметры соединения с сервером. Для указания таких параметров используются текстовые поля типа textbox.

Основное окно приложения загружается после выбора режима функционирования приложения. Макет основного окна приложения представлен на рисунке 5.

Рисунок 5. Макет основного окна приложения

Основное окно приложения разделено на 2 зоны. Слева находится список зарегистрированных пользователей. При этом сразу отображается их статус в сети. Список пользователей реализован при помощи элемента управления ListBox. Расположенная внизу кнопку «Управлять» позволяет выполнить удаленное управление компьютером выбранного клиента.

Справа расположены окна, в которых отображаются логи соединения с выбранным пользователем, а также содержатся элементы управления для отправки сообщений. Окно «Логи» реализовано при помощи многострочного текстового окна richTextBox. В данное окно выводится также и история сообщений, если таковая имеется.Окно «Текст сообщения» также реализовано посредством элемента richTextBox. Данный элемент управления позволяет настроить подходящие стили оформления текста. Для добавления в текст сообщения стандартных смайлов необходимо нажать кнопку «», расположенную над окном «Текст сообщения».

Для отправки сообщения необходимо нажать кнопку «Отправить сообщение», а для отправки файла – кнопку «Отправить файл». При отправке файла откроется стандартное диалоговое окно «Открыть файл», в котором пользователю предлагается выбрать отправляемый файл.

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

При разработке интерфейса приложения использовалась стандартная цветовая гамма, которая полностью соответствует специфике задачи и не отвлекает пользователя от работы [4].

Остальные элементы интерфейса также выполнены в соответствии с ГОСТ 28195–89 [5].

ЗАКЛЮЧЕНИЕ

В процессе выполнения работы решены следующие задачи:

  1. выполнено проектирование приложения: сформулированы основные принципы его работы, выделены его основные составляющие;

  2. разработано приложение в соответствии с вышеперечисленными положениями, написан код программы, скомпилирован код в исполняемый файл;

  3. проведено тестирование и отладка приложения;

  4. написана краткая инструкция по работе с приложением.

Работа выполнена на языке программирования C# в среде разработки MicrosoftVisualStudio 2013 Express. Работа приложения основана на использовании протокола обмена данными TCP и соответствующих классов – TcpListener и TcpClient, имеющихся в библиотеках MicrosoftVisualC#. Особенностью разработанного приложения является одновременная (совместная) передача текстового сообщения и прикрепленного файла, а также единый интерфейс для клиентской и серверной частей. Кроме того, разработанная система обмена сообщениями не имеет формального ограничения на размер передаваемого файла. Еще одной из особенностей приложения является возможность добавления в текст передаваемых сообщений смайлов, хранение истории сообщений. При этом на сервере и клиенте используются разные способы хранения сообщений: на сервере – в базе данных, на клиенте – в отдельных текстовых файлах.

Для удобства пользователя предоставлена возможность индивидуальной настройки внешнего вида приложения и используемых шрифтов по вкусу пользователя.

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

СПИСОК ЛИТЕРАТУРЫ
  1. Басс Л. Архитектура программного обеспечения на практике. СПб.: Питер, 2005. – 576 с.

  2. Бей И. Взаимодействие разноязыковых программ. Руководство программиста. М.: Вильямс. 2005 с. – 880 с.

  3. Бройдо В. Вычислительные системы, сети и телекоммуникации. СПб.: Питер, 2011. – 560с.

  4. Буч Г. UML Руководство пользователя. Москва: ДМК, 2007. – 494 с.

  5. ГОСТ 28195–89 Введ. 28.07.1989. – М.: ИПК Издательство стандартов, 2001. – 31 с.

  6. Камер Д. Сети TCP/IP. Принципы, протоколы и структура. Т. 1. М.: Вильямс, 2003. – 880 с.

  7. Кузнецов 21М., Симдянов И. MySQL 5. В подлиннике. –СПб.: БХВ–Петербург, 2006. – 1024 с.

  8. Кузнецов 22М., Симдянов И., Голышев С. PHP 5 на примерах. – СПб.: БХВ–Петербург, 2012. – 576 с.

  9. Общая классификация архитектур информационных приложений. [Электронный ресурс] URL: http://www.citforum.ru/cfin/prcorpsys/infsistpr_ 03.shtml (Дата обращения 5.09.2014).

  10. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы – СПб.: Питер, 2003 г. – 864 с.

  11. Пономарев В. 10.Программирование на C++/C# в VisualStudio .NET. СПб: БХВ–Петербург, 2003. – 352 с.

  12. Томсон Л., Веллинг Л. Разработка Web-приложений на РНР и MySQL. СПб.: ДиаСофтЮП, 2012 г. – 672 с.

Просмотров работы: 1553