Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПСП пример записки.rtf
Скачиваний:
65
Добавлен:
13.02.2016
Размер:
22.35 Mб
Скачать

Описание протокола передачи данных

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

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

Таблица 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. Так же для упрощения разработки были использованы уже готовые реализованные классы.