НАЧАЛО >> 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  | 
 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  | 
 
  | 
Далее везде в таблицах протокола опущена первая строка запроса – длина запроса в байтах