Перейти к основному содержимому

Получить сообщение

Получает входящее сообщение из очереди или ожидает новое

Функция ПолучитьСообщение(Знач Соединение, Знач Таймаут = 10000) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Соединение-ПроизвольныйСоединение, См. ОткрытьСоединение
Таймаут-ЧислоТаймаут ожидания сообщения (в мс.)
Возвращаемое значение

ДвоичныеДанные - Полученное сообщение

Предупреждение

NOCLI: данный метод недоступен для использования в CLI версии

Пример использования для 1С:Предприятие/OneScript
Адрес = "wss://127.0.0.1:8443";
НуженПрокси = Истина;
НуженTLS = Истина;

Заголовки = Новый Соответствие;
Заголовки.Вставить("X-Trace-Id", "OPI-WS-TEST");

Если НуженTls Тогда
НастройкиTls = OPI_WebSocket.ПолучитьНастройкиTls(Истина);
КонецЕсли;

Если НуженПрокси Тогда

ПроксиАдрес = "127.0.0.1";
ПроксиПорт = "8071";
ПроксиВид = "http";

ПроксиПользователь = "proxyuser";
ПроксиПароль = "12we...";

НастройкиПрокси = OPI_Компоненты.ПолучитьНастройкиПрокси(ПроксиАдрес
, ПроксиПорт
, ПроксиВид
, ПроксиПользователь
, ПроксиПароль);

КонецЕсли;

Соединение = OPI_WebSocket.ОткрытьСоединение(Адрес, НастройкиTls, НастройкиПрокси, Заголовки);

Сообщение = "echo-text-" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");

Если OPI_WebSocket.ЭтоОбъектКлиента(Соединение) Тогда

// Отправляем сообщение ECHO-серверу
Отправка = OPI_WebSocket.ОтправитьТекстовоеСообщение(Соединение, Сообщение);

// Пропускаем все ответы от сервера до последнего
Пока Истина Цикл

ПоследнееСообщение = OPI_WebSocket.ПолучитьСообщение(Соединение, 3000); // <----

Если ПоследнееСообщение["result"] Тогда
Результат = ПоследнееСообщение;
Иначе
Прервать;
КонецЕсли;

КонецЦикла;

Иначе
Результат = Соединение;
КонецЕсли;
Результат
{
"data": {
"type": "echo",
"payload": "echo-text-20260526045302",
"tls": true,
"timestamp": "2026-05-26T16:53:02.373Z"
},
"result": true,
"type": "text"
}