- •Введение
- •Описание инструмента разработки программы
- •Описание использованных технологий. Язык программирования c#
- •MySql и язык запросов sql
- •Описание алгоритма md5(rfc1321)
- •Скорость работы и производительность
- •Надежность
- •Стойкость к нахождению коллизий
- •Описание разработанных компонентов программы. Описание базы данных
- •Описание протокола передачи данных
- •Программа-сервер
- •Описание разработанных классов
- •Программа-клиент
- •Руководство пользователя. Требования к программному и аппаратному обеспечению
- •Инструкция по использованию программного средства. Программа-сервер
- •Программа-клиент
- •Расчет экономических показателей программного продукта. Расчет себестоимости и цены программного продукта
- •Сравнение по экономическим показателям
- •Безопасность жизнедеятельности
- •Характеристика вредных факторов при работе с пк
- •Требования к размещению и оборудованию рабочего места с пк
- •Причины и профилактика статического и зрительного утомления
- •Профилактика зрительного утомления
- •Профилактика общего утомления
- •Пожарная безопасность
- •Приложения Профилактика зрительного утомления
- •Профилактика общего утомления
- •Размещено на Allbest.Ru
Описание протокола передачи данных
Любая сетевая программа имеет свой протокол передачи данных. В данном случае был разработан достаточно простой протокол обмена данными между клиентом и сервером, поскольку обмен данными между программами происходит на простом уровне и в очень малом объеме.
Клиента и сервер обмениваются данными в виде сообщений, каждое из которых представляет собой текстовую строку, оканчивающуюся символом перевода строки.
Таблица 4.4 - Команды клиента
Команда |
Описание |
guest |
Подключиться к серверу как гость guest <guestXXXX>\n |
autorization |
Авторизоваться на сервере autorization <login> <pass>\n |
register |
Зарегистрировать на сервере register <login> <pass>\n |
sendall |
Отослать всем sendall <text>\n |
send |
Отправить в приватную комнату send <target> <text>\n |
filerequest |
Передача файла filerequest <target> <filename> <filesize>\n |
accept |
Подтвердить прием файла accept <transferuser>\n |
deny |
Отказать в передаче файла deny <transferuser>\n |
disconnect |
Отключиться от сервера |
Таблица 4.5 - Команды сервера:
list |
Отправить список собеседников list <user1> <user2> … <usern>\n |
broadcast |
Вывод информации/сообщения в общую комнату broadcast <sender> <text>\n |
disconnect |
Отключение сервера |
message |
Приватное сообщение собеседнику <sender> message <text>\n |
backmessage |
Приватное сообщение отправителю <sender> backmessage <text>\n |
filerequest |
Ответ на запрос передачи файла |
Из приведенного списка команд видно, что протокол является узкоспециальным и предназначен только для данного проекта. С другой стороны, разработка универсального протокола передачи данных является нетривиальной задачей, требующей огромных затрат.
Пример работы по протоколу(К – клиент, С – сервер):
К: guest guest4356 – запрос на подключение
C: list <user1> <user2> … < guest4356> - подключение прошло удачно, сервер рассылает всем новый список собеседников
С: broadcast « --- guest4356 вошел в чат --- «
К: sendall «Привет всем!!!»
С: usern «broadcast» «Привет всем»
К: «« - клиент отключился
С: broadcast « --- guest4356 покинул чат --- «
С: list <user1> <user2> … <userm> - сервер рассылает всем новый список собеседников
С: «« - сервер остановлен
Программа-сервер
Программа выполняет следующие функции:
- Авторизация/регистрация пользователей
- Передача сообщений от одного пользователя в общую комнату
- Перелача сообщений от пользователя в приватную комнату
- Передача запроса на передачу файла от одного пользователя к другому
- Контролирует подключение/отключение клиентов
- Логирование работы сервера и общения, подключения/отключения пользователей
При реализации интерфейса программы были использован класс WindowsForms. Так же для упрощения разработки были использованы уже готовые реализованные классы.