1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-06-12 00:34:16 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2026-04-25 09:40:31 +03:00
parent fcc20f12ea
commit 64efb6e9fc
13 changed files with 11299 additions and 11023 deletions
+1 -1
View File
@@ -1 +1 @@
97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C
9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84
+138
View File
@@ -0,0 +1,138 @@
---
id: WebSocket
sidebar_class_name: WebSocket
keywords: [1C, 1C:Enterprise, 1C:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, WebSocket]
---
<img src={require('../../static/img/APIs/WebSocket.png').default} width='64px' />
# WebSocket
import LibraryIntro from '@site/src/components/LibraryIntro';
<LibraryIntro module="OPI_WebSocket" cli="ws" use="oint/api/ws" lang="en"/>
This section is dedicated to the WebSocket protocol library for 1C:Enterprise, OneScript, and CLI. This page describes all the actions necessary for a complete start
## Getting Started
WebSocket is a protocol that provides full-duplex communication between a client and a server over a single TCP connection. The library supports both client mode (connecting to a WebSocket server) and server mode (accepting incoming connections).
### Operating Modes
The library supports two main operating modes:
1. **Client** — connecting to an external WebSocket server
2. **Server** — creating your own WebSocket server to accept incoming connections
### Working in Client Mode
To connect to a WebSocket server, you need to:
1. Prepare the connection address (e.g., `wss://example.com:443/ws`)
2. Configure TLS if necessary using the `GetTlsSettings` function
3. Open the connection using the `CreateConnection` function
```bsl
Address = "wss://example.com:443/ws";
// TLS configuration (for wss://)
TLSSettings = OPI_WebSocket.GetTlsSettings(False);
// Opening connection
Connection = OPI_WebSocket.CreateConnection(Address, TLSSettings);
// Sending text message
Result = OPI_WebSocket.SendTextMessage(Connection, "Hello, server!");
// Receiving response
Response = OPI_WebSocket.GetMessage(Connection, 5000);
// Closing connection
OPI_WebSocket.CloseConnection(Connection);
```
### Working in Server Mode
To create a WebSocket server, you need to:
1. Select a port to listen on
2. Configure logging using the `GetLoggingSettings` function (optional)
3. Start the server using the `StartServer` function
```bsl
Port = 8080;
PoolSize = 100; // Maximum number of simultaneous connections
// Logging configuration
Logging = OPI_WebSocket.GetLoggingSettings(True, 300);
// Starting server
Server = OPI_WebSocket.StartServer(Port, PoolSize, Logging);
// Receiving data from clients
Data = OPI_WebSocket.GetNextConnectionData(Server, 1000);
If Data["result"] Then
ConnectionID = Data["connection"];
Message = Data["data"];
// Sending response
OPI_WebSocket.SendData(Server, ConnectionID, "Server response");
EndIf;
// Stopping server
OPI_WebSocket.StopServer(Server);
```
### TLS Configuration
For secure connections (wss://), you need to configure TLS:
```bsl
// Trust all certificates (for testing)
TLSSettings = OPI_WebSocket.GetTlsSettings(True);
// Use a specific certificate
CertificatePath = "/path/to/certificate.pem";
TLSSettings = OPI_WebSocket.GetTlsSettings(False, CertificatePath);
```
:::important
TLS settings can only be set at the moment of connection creation
:::
### Logging
For debugging and monitoring server operation, you can enable logging:
```bsl
// Logging to memory (last 300 events)
Logging = OPI_WebSocket.GetLoggingSettings(True, 300);
// Logging to file
Logging = OPI_WebSocket.GetLoggingSettings(True, 300, "/path/to/log.txt");
// Getting log
Log = OPI_WebSocket.GetLog(Server, True, 100);
```
### Message Types
The library supports various message types:
- **Text** — sending via `SendTextMessage`
- **Binary** — sending via `SendBinaryMessage`
- **Ping/Pong** — service messages for connection checking
```bsl
// Sending text
OPI_WebSocket.SendTextMessage(Connection, "Text message");
// Sending binary data
BinaryData = GetBinaryDataFromFile("file.bin");
OPI_WebSocket.SendBinaryMessage(Connection, BinaryData);
// Connection check
OPI_WebSocket.SendPing(Connection);
```
+138
View File
@@ -0,0 +1,138 @@
---
id: WebSocket
sidebar_class_name: WebSocket
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, WebSocket]
---
<img src={require('../../static/img/APIs/WebSocket.png').default} width='64px' />
# WebSocket
import LibraryIntro from '@site/src/components/LibraryIntro';
<LibraryIntro module="OPI_WebSocket" cli="ws" use="oint/api/ws" lang="ru"/>
Этот раздел посвящен библиотеке для работы с WebSocket протоколом в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы
## Начало работы
WebSocket — это протокол, обеспечивающий полнодуплексную связь между клиентом и сервером через единое TCP-соединение. Библиотека поддерживает работу как в режиме клиента (подключение к WebSocket серверу), так и в режиме сервера (прием входящих подключений).
### Режимы работы
Библиотека поддерживает два основных режима работы:
1. **Клиент** — подключение к внешнему WebSocket серверу
2. **Сервер** — создание собственного WebSocket сервера для приема входящих подключений
### Работа в режиме клиента
Для подключения к WebSocket серверу необходимо:
1. Подготовить адрес подключения (например `wss://example.com:443/ws`)
2. При необходимости настроить TLS при помощи функции `ПолучитьНастройкиTls`
3. Открыть соединение при помощи функции `ОткрытьСоединение`
```bsl
Адрес = "wss://example.com:443/ws";
// Настройка TLS (для wss://)
НастройкиTLS = OPI_WebSocket.ПолучитьНастройкиTls(Ложь);
// Открытие соединения
Соединение = OPI_WebSocket.ОткрытьСоединение(Адрес, НастройкиTLS);
// Отправка текстового сообщения
Результат = OPI_WebSocket.ОтправитьТекстовоеСообщение(Соединение, "Привет, сервер!");
// Получение ответа
Ответ = OPI_WebSocket.ПолучитьСообщение(Соединение, 5000);
// Закрытие соединения
OPI_WebSocket.ЗакрытьСоединение(Соединение);
```
### Работа в режиме сервера
Для создания WebSocket сервера необходимо:
1. Выбрать порт для прослушивания
2. Настроить логирование при помощи функции `ПолучитьНастройкиЛогирования` (опционально)
3. Запустить сервер при помощи функции `ЗапуститьСервер`
```bsl
Порт = 8080;
РазмерПула = 100; // Максимальное число одновременных соединений
// Настройка логирования
Логирование = OPI_WebSocket.ПолучитьНастройкиЛогирования(Истина, 300);
// Запуск сервера
Сервер = OPI_WebSocket.ЗапуститьСервер(Порт, РазмерПула, Логирование);
// Получение данных от клиентов
Данные = OPI_WebSocket.ПолучитьДанныеОчередногоСоединения(Сервер, 1000);
Если Данные["result"] Тогда
IDСоединения = Данные["connection"];
Сообщение = Данные["data"];
// Отправка ответа
OPI_WebSocket.ОтправитьДанные(Сервер, IDСоединения, "Ответ сервера");
КонецЕсли;
// Остановка сервера
OPI_WebSocket.ОстановитьСервер(Сервер);
```
### Настройка TLS
Для безопасных соединений (wss://) необходимо настроить TLS:
```bsl
// Доверять всем сертификатам (для тестирования)
НастройкиTLS = OPI_WebSocket.ПолучитьНастройкиTls(Истина);
// Использовать конкретный сертификат
ПутьКСертификату = "/path/to/certificate.pem";
НастройкиTLS = OPI_WebSocket.ПолучитьНастройкиTls(Ложь, ПутьКСертификату);
```
:::important
Настройки TLS могут быть установлены только в момент создания соединения
:::
### Логирование
Для отладки и мониторинга работы сервера можно включить логирование:
```bsl
// Логирование в память (300 последних событий)
Логирование = OPI_WebSocket.ПолучитьНастройкиЛогирования(Истина, 300);
// Логирование в файл
Логирование = OPI_WebSocket.ПолучитьНастройкиЛогирования(Истина, 300, "/path/to/log.txt");
// Получение лога
Лог = OPI_WebSocket.ПолучитьЛог(Сервер, Истина, 100);
```
### Типы сообщений
Библиотека поддерживает различные типы сообщений:
- **Текстовые** — отправка через `ОтправитьТекстовоеСообщение`
- **Двоичные** — отправка через `ОтправитьДвоичноеСообщение`
- **Ping/Pong** — служебные сообщения для проверки соединения
```bsl
// Отправка текста
OPI_WebSocket.ОтправитьТекстовоеСообщение(Соединение, "Текстовое сообщение");
// Отправка двоичных данных
ДвоичныеДанные = ПолучитьДвоичныеДанныеИзФайла("file.bin");
OPI_WebSocket.ОтправитьДвоичноеСообщение(Соединение, ДвоичныеДанные);
// Проверка соединения
OPI_WebSocket.ОтправитьПинг(Соединение);
```
+11013 -11013
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C
9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C";
LastBuildHash = "9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C
9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C";
LastBuildHash = "9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C
9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C";
LastBuildHash = "9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C
9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C";
LastBuildHash = "9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
97966547B38AF9B9DBA529DE23DE45C1B4C5AEEFC7509AE7A067F06678E2E04C
9C13BEC3C195B06580297CF3C30910F0D4F13DDB11574E235CCE1392DE99AA84