Описание текстового протокола

Описание текстового протокола:

 

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

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