Каталог решений - Протокол TCP/IP обмена данными с RAS (описание, пример использования C++)

Протокол TCP/IP обмена данными с RAS (описание, пример использования C++)

Протокол TCP/IP обмена данными с RAS (описание, пример использования C++)

В наличии

Описание протокола взаимодействия с консольной утилитой администрирование кластера 1С (RAS) по tcp/ip. Описание двоичных данных, консольная утилита для обмена данными с ras.

Категория:

Описание

Разобраться с протоколом tcp/ip администрирования кластера 1С через утилиту ras подтолкнула данная статья: //sale.itcity.ru/1c/articles/1503913

В статье khorevaa довольно высокий уровень абстракции, мне же хотелось опуститься до уровня сетевого взаимодействия. Итог моего любопытства — данная статья.

Полный список материалов данной статьи (описание протокола, исходные коды и собранное приложение) на https://github.com/sdf1979/agent_ras

Анализ протокола проводился для платформы 8.3.17.1496 (версия протокола администрирования 10)

Что реализовано:

  1. Соединение по tcp/ip с ras.
  2. Получение массива кластеров 1С.
  3. Аутентификация под администратором кластера 1С.
  4. Получение массива краткой информации информации об информационных базах 1С.
  5. Получение массива информации о рабочих серверах 1С.
  6. Получение массива информации о сессиях.
  7. Получение массива информации об администраторах кластера 1С.
  8. Получение массива информации о менеджерах кластера 1С.
  9. Получение массива информации о рабочих процессах кластера 1С.
  10. Получение массива информации о блокировках кластера 1С.
  11. Получение массива информации о соединениях кластера 1С.

Пример использования выполнен на С++ как есть, без обработки исключительных ситуаций. Рекомендуется использовать для изучения протокола в тестовых средах.

Размер данных сообщения кодируется в varint по base 128, более подробно можно ознакомиться тут.

Размер строки в данных пакета так же кодируется в varint, но по base 64.

varint по base 128 — значащих битов в байте 7.

varint по base 64 — значащих битов в байте 6.

Для чего это знание — затрудняюсь ответить, возможно, где-нибудь когда-нибудь взлетит…

has been added to your cart:
Оформление заказа