Библиотека входит в 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++.
На текущий момент, ROM-SocketIO поддерживает только ws-схема URI (нешифрованное соединение)
ROM-SocketIO работает в асинхронном режиме - результаты выполнения методов будут возвращены как внешнее событие 1С.
1.0.1 (beta)
Авторские права принадлежат Simplit, согласно международной конвенции о защите авторских прав
Операционная система: Windows x32 / x64, все версии начиная с Windows 7
Windows XP и Windows Server 2003 не поддерживаются
Платформы: 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","Привет мир!"]