logo

Централизованная библиотечная система г. Рязани

Описание структуры пакета данных


НАЧАЛО >> TCP/IP сервер ИРБИС 64/128 >> Протокол работы сервера ИРБИС64 >> Описание структуры пакета данных


Пакет - это строка переменной длины.

Пакет включает фиксированный (1,2) и переменный (3) наборы строк:

1. строка с общей длиной запроса

2. 10 строк заголовка

3. данные (возможно несколько строк)

Строки разделяются #10,

Входящий пакет (для сервера):

ДЛИНА ЗАПРОСА В БАЙТАХ (В ТАБЛИЦАХ НЕ ПОКАЗАН!!!)

  • КОД КОММАНДЫ
  • ТИП ПОЛЬЗОВАТЕЛЯ (ARM)
  • КОД КОММАНДЫ
  • ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ (GUID)
  • ПОРЯДКОВЫЙ НОМЕР ЗАПРОСА
  • ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ
  • ИМЯ ПОЛЬЗОВАТЕЛЯ
  • РЕЗЕРВ
  • РЕЗЕРВ
  • РЕЗЕРВ

ДАННЫЕ (возможно несколько строк)

 

Исходящий пакет (для сервера):

КОД КОММАНДЫ

ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ (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

REC_DELETE

1 - запись логически удалена

-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

 

Далее везде в таблицах протокола опущена первая строка запроса – длина запроса в байтах