Содержание

Внешняя компонента ROM-SocketIO

Библиотека входит в SDK прежде всего для возможности интеграции с облачными сервисами, которые предоставляют API, на базе протокола Socket.IO.

В то же время, библиотека является универсальной и может использоваться для любых других задач, с участием протокола Socket.IO. Наиболее типичный пример - подключение к собственному серверу на базе Node.js

Библиотека ROM-SocketIO реализует API в стиле JavaScript-клиента Socket.IO. Поддерживается протокол SocketIO v1.x.

ROM-SocketIO - внешняя компонента 1С:Предприятие 8.x, реализована по технологии Native API, в соответствии с рекомендациями 1С, изложенными в руководстве «Технология создания внешних компонент». Библиотека написана на языке C++.

Официальный сайт Socket.IO

На текущий момент, ROM-SocketIO поддерживает только ws-схема URI (нешифрованное соединение)

ROM-SocketIO работает в асинхронном режиме - результаты выполнения методов будут возвращены как внешнее событие 1С.

Текущая версия

1.0.1 (beta)

История версий

Авторские права

Авторские права принадлежат Simplit, согласно международной конвенции о защите авторских прав

Поддерживаемые ОС

Операционная система: Windows x32 / x64, все версии начиная с Windows 7

Windows XP и Windows Server 2003 не поддерживаются

Поддерживаемые версии 1С:Предприятие

Платформы: 1С:Предприятие 8.х, все версии включая 8.3.7

Использование на стороне клиента:

Использование на стороне сервера:

На стороне сервера недоступны внешние события. Поэтому, при работе на стороне сервера, функционал внешней компоненты будет ограничен отправкой сообщений.

Свойства

Методы

События

ROM-SocketIO работает в асинхронном режиме - результаты выполнения методов возвращаются как внешние события 1С в обработчик ВнешнееСобытие(Источник,Событие,Данные)

Параметр Событие содержит информацию о событии в структурированном виде - в формате JSON.

Код 1С:

Процедура ВнешнееСобытие(Источник, Событие, Данные)
     Сообщить(Событие);
     Сообщить(Данные);
КонецПроцедуры

При подключении к серверу:

Параметр Событие содержит пакет {«Event»: «Connection»,«State»: «Open»},
параметр Данные содержит пакет {«Connection»: «Open»}

Вывод окна сообщений:

{"Event": "Connection","State": "Open"}
{"Connection": "Open"}

При отключении от сервера:

Вывод окна сообщений:

{"Event": "Connection","State": "Close","Reason": "Normal"}
{"Connection": "Close"}

Код 1С:

Процедура ВнешнееСобытие(Источник, Событие, Данные)
     Если Данные="{""Connection"": ""Close""}" Тогда
          Сообщить("Соединение разорвано");
     КонецЕсли;
КонецПроцедуры

При ошибке подключения к серверу:

Вывод окна сообщений:

{"Event": "Connection","State": "Fail"}
{"Connection": "Fail"}

Код 1С:

Процедура ВнешнееСобытие(Источник, Событие, Данные)
     Если Данные="{""Connection"": ""Fail""}" Тогда
          Сообщить("Ошибка установки соединения");
     КонецЕсли;
КонецПроцедуры

При получении сообщения от сервера:

Параметр Событие содержит пакет {«Event»: «Message»,«Namespace»: «/»,«Name»: «new message»,«Type»: «String»}, где

параметр Данные содержит текст сообщения в формате JSON

Вывод окна сообщений:

{"Event": "Message","Namespace": "/","Name": "new message","Type": "String"}
["new message","Привет мир!"]