Внешняя компонента WebSocketClient

Синхронный и асинхронный обмен данными по протоколу WebSocket

Протокол WebSocket («вебсокет»), описанный в спецификации RFC 6455, обеспечивает возможность обмена данными между браузером и сервером через постоянное соединение. Данные передаются по нему в обоих направлениях в виде «сообщений», без разрыва соединения и дополнительных HTTP-запросов. WebSocket особенно хорош для сервисов, которые нуждаются в постоянном обмене данными (например, торговые площадки, работающие в реальном времени).

Компонента WebSocketClient содержит два вида объектов:

  • WebSocketClient_Sync – для работы в синхронном режиме
  • WebSocketClient_Async – для работы в асинхронном режиме

Общие требования

  1. Компонента выполнена по технологии Native API, предназначена для 1С от версии 8.2.9.356 и выше (8.2 и 8.3 любых версий) для ОС Windows x32 и x64.
  2. Для использования защищенного соединения используется библиотека OpenSSL, которая не входит в состав компоненты, а подключается динамически. Это дает возможность использовать самые свежие протоколы шифрования, обновив установленную версию OpenSSL. Путь в библиотеке OpenSSL указывается в свойствах компоненты.

Особенности работы объекта WebSocketClient_Sync

  1. Объект работает в асинхронном режиме. То есть после вызова любого метода объект приостанавливает выполнение основного потока 1С до тех пор, пока не будет получен результат.
  2. Сообщения могут отправляться и приниматься в виде строки или в виде двоичных данных. Сообщение в виде строки кодируется в UTF8. Если требуется другая кодировка, нужно использовать объекты Поток и ДвоичныеДанные (см. раздел "Работа с двоичными данными" справочной информации 1С).

Особенности работы объекта WebSocketClient_Async

  1. Объект работает в асинхронном режиме. То есть после вызова любого метода объект сразу возвращает управление основному потоку 1С. Далее объект продолжает выполнение метода в отдельном фоновом потоке. Таким образом, объект не зависит от длительных операций основного потока (таких, как формирование отчетов и т.п.).
  2. Для сигнализации о возникшем событии используется ВнешнееСобытие. Объект генерирует следующие события: "Open", "Close", "Message", "Ping", "Error".
  3. В 1С может быть одновременно создано несколько объектов WebSocketClient_Async. Чтобы понять, какому объекту адресовано событие, используется идентификатор <ObjectID>, который передается первым параметром во ВнешнемСобытии.
  4. Сообщения могут отправляться и приниматься в виде строки или в виде двоичных данных. Сообщение в виде строки кодируется в UTF8. Если требуется другая кодировка, нужно использовать объекты Поток и ДвоичныеДанные (см. раздел "Работа с двоичными данными" справочной информации 1С).
  5. Принятые сообщения накапливаются в очередь. После того, как сообщение добавлено в очередь, возникает событие "Message". Извлечь сообщение из очереди можно с помощью методов ПолучитьСообщениеКакСтроку или ПолучитьСообщениеКакДвоичныеДанные. После вызова любого из этих методов сообщение автоматически удаляется из очереди.
  6. Объект автоматически отправляет пакет Pong в ответ на получение пакета Ping. Дополнительно объект генерирует событие "Ping", которое не обязательно обрабатывать.
 

 Объект WebSocketClient_Sync

 

 Объект WebSocketClient_Async

 

 Использование защищенного соединения

 

 Простой пример

 

Другие наши продукты:

Набор эмуляторов торгового оборудования
   
Модуль ККТ: онлайн-касса по сети
   
Торговое оборудование по сети

 

Гарантия возврата денег

ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *