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


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


Пакет TCP/IP протокола ИРБИС 64 - это строка переменной длины. Он включает фиксированные части и данные:

  1. строка с общей длиной запроса;
  2. 10 строк заголовка;
  3. данные, возможно в несколько строк.

Строки разделяются символом #10. Все данные передаются и возвращаются в символьном виде в буфере, который завершается #0. В буфере строки разделяются одним символом #10 или парой #10#13. Специальный символ-разделитель # имеет код #35.

1. Входящий пакет

Первая строка входящего пакета содержит длину запроса в байтах. В таблицах команд эта строка обычно не показывается.

Позиция Содержимое
1 Длина запроса в байтах
2 Код команды
3 Идентификатор пользователя, GUID
4 Порядковый номер запроса
5 Пароль
6 АРМ
7 Зарезервировано
8 Зарезервировано
9 Зарезервировано
10 Зарезервировано
11 Зарезервировано
12+ Данные, возможно несколько строк

2. Исходящий пакет

Позиция Содержимое
1 Код команды
2 Идентификатор пользователя, GUID
3 Порядковый номер запроса
4 Зарезервировано
5 Зарезервировано
6 Зарезервировано
7 Зарезервировано
8 Зарезервировано
9 Зарезервировано
10 Зарезервировано
11+ Данные, возможно несколько строк

3. Флаги статусов записи

Флаг Значение
BIT_LOG_DEL Логически удалённая запись, 1.
BIT_PHYS_DEL Физически удалённая запись, 2.
BIT_ABSENT Несуществующая запись, 4.
BIT_NOTACT_REC Неактуализированная запись, 8.
BIT_LAST_REC Последний экземпляр записи, 32.
BIT_LOCK_REC Заблокированная запись, 64.

4. Коды возврата

Код Мнемоника Описание
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 Заданный MFN вне пределов БД.
-600 REC_DELETE Запись логически удалена.
-601 REC_PHYS_DELETE Запись физически удалена.
-602 ERR_RECLOCKED Запись заблокирована на ввод.
-603 REC_DELETE Запись логически удалена.
-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 Достигнут первый термин списка.

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