НАЧАЛО >> TCP/IP сервер ИРБИС 64/128 >> Протокол работы сервера ИРБИС64 >> Описание структуры пакета данных
Пакет - это строка переменной длины.
Пакет включает фиксированный (1,2) и переменный (3) наборы строк:
1. строка с общей длиной запроса
2. 10 строк заголовка
3. данные (возможно несколько строк)
Строки разделяются #10,
Входящий пакет (для сервера):
ДЛИНА ЗАПРОСА В БАЙТАХ (В ТАБЛИЦАХ НЕ ПОКАЗАН!!!)
ДАННЫЕ (возможно несколько строк)
Исходящий пакет (для сервера):
КОД КОММАНДЫ
ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ (GUID)
ПОРЯДКОВЫЙ НОМЕР ЗАПРОСА
РЕЗЕРВ
ПОДРОБНОЕ ОПИСАНИЕ ВОЗВРАТОВ
Все данные посылаются и получаются в символьном виде в виде буфера заканчивающегося #0.
Строки в буфере разделяются 1-м #10 или 2-мя символами - #10#13.
Специальный символ разделитель - '#' = #35
Флаги статусов записи:
{BIT_LOG_DEL = логически удаленная запись - 1}
{BIT_PHYS_DEL = физически удаленная запись - 2 }
{BIT_ABSENT = несуществующая запись - 4}
{BIT_NOTACT_REC = неактуализированная запись - 8}
{BIT_LAST_REC = последний экземпляр записи - 32}
{BIT_LOCK_REC = заблокированная запись - 64}
Коды возврата
Код
Мнемоническое описание
Описание
0
ZERO
Нормальное завершение
-1111
SERVER_EXECUTE_ERROR
-2222
WRONG_PROTOCOL
-3333
CLIENT_NOT_IN_LIST
незарегистрированный клиент
-3334
CLIENT_NOT_IN_USE
незарегистрированный клиент не сделал irbis-reg
-3335
CLIENT_IDENTIFIER_WRONG
неправильный уникальный идентификатор
-3336
CLIENT_NOT_ALLOWED
нет доступа к командам АРМа
-3337
CLIENT_ALREADY_EXISTS
клиент уже зарегистрирован
-4444
WRONG_PASSWORD
неверный пароль
-5555
FILE_NOT_EXISTS
Файл не существует
-6666
SERVER_OVERLOAD
сервер перегружен достигнуто максимальное число потоков обработки
-7777
PROCESS_ERROR
не удалось запустить/прервать поток администратора
-100
READ_WRONG_MFN
-1 - заданный MFN вне пределов БД
-600
REC_DELETE
1 - запись логически удалена
-601
REC_PHYS_DELETE
2 - запись физически удалена
-602
ERR_RECLOCKED
запись заблокирована на ввод
-603
-607
AUTOIN_ERROR
ошибка autoin.gbl
-300
ERR_DBEWLOCK
монопольная блокировка БД
-400
ERR_FILEMASTER
ошибка при открытии файла mst или xrf
-401
ERR_FILEINVERT
ошибка при открытии trm файлов
-402
ERR_WRITE
ошибка при записи
-403
ERR_ACTUAL
ошибка при актуализации
-202
TERM_NOT_EXISTS
-203
TERM_LAST_IN_LIST
-204
TERM_FIRST_IN_LIST
Далее везде в таблицах протокола опущена первая строка запроса – длина запроса в байтах