Задание на лабораторную работу
Переделать серверное приложение из предыдущей лабораторной работы
для работы с текстовым протоколом
Описание текстового протокола
При подключении к серверу он должен ответить строкой:
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 <комментарий>
сервер после ответа должен закрыть соединение и дожидаться следующего соединения