Skip to Content

Лабораторная работа №4

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

Описание текстового протокола
При подключении к серверу он должен ответить строкой:

250 <версия и название сервера>

Далее он должен воспринимать следующие команды в любой последовательности:

VAR
DATA
RES
RSET
QUIT



Описание команд
VAR — вывести список переменных, необходимых для вычисления.
Формат команды:

VAR

Ответ сервера:

220 <комментарий>
<имя первой переменной> <минимальное значение> <максимальное значение>

<имя второй переменной> <минимальное значение> <максимальное значение>
...
<имя последней переменной> <минимальное значение> <максимальное значение>
250 <комментарий>


DATA — ввести переменные, необходимые для вычисления.
Формат команды:

DATA <переменная>=<значение>,<переменная>=<значение>,...,<переменная>=<значение>

Примечание: последовательность вводимых переменных не имеет значения
Ответ сервера:

250 <комментарий> - в случае отсутствия ошибок ввода
510 <комментарий> - в случае, если переменные уже введены
520 <комментарий> - в случае, если одна из переменных вышла за границы заданных значений
530 <комментарий> - в случае, если введено недостаточное количество переменных
540 <комментарий> - в случае, если введено избыточное количество переменных


RES — вычислить и вывести значения вычислений.
Формат команды:

RES

Ответ сервера:

220
<результаты вычислений>

В случае безошибочных вычислений:

250

В случае, если не введены переменные, необходимые для вычисления:

540 <комментарий>

В случае остальных ошибок:

550 <комментарий>


RSET — сбросить введенные переменные.
Формат команды:

RSET

Ответ сервера:

250 <комментарий>


QUIT — закончить работу с сервером.
Формат команды:

QUIT

Ответ сервера:

250 <комментарий>

сервер после ответа должен закрыть соединение и дожидаться следующего соединения