Получить данные соединения
Получает данные из буфера конкретного соединения по ID
- Параметры
- Расширенный вызов ?
Функция ПолучитьДанныеСоединения(Знач ОбъектСервера, Знач IDСоединения, Знач Таймаут = 1000, Знач МаксимальныйРазмер = 8192) Экспорт
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|---|---|---|---|---|
| ОбъектСервера | - | Произвольный | ✔ | Объект компоненты запущенного сервера |
| IDСоединения | - | Строка | ✔ | Идентификатор соединения |
| Таймаут | - | Число | ✖ | Период ожидания новых данных, если очередь пуста (в мс) |
| МаксимальныйРазмер | - | Чис ло | ✖ | Максимальный размер данных для получения |
Возвращаемое значение
Соответствие Из КлючИЗначение - Результат выполнения
Для текущего метода нет дополнительных параметров расширенного вызова.
Предупреждение
NOCLI: данный метод недоступен для использования в CLI версии
Пример использования для 1С:Предприятие/OneScript
ПортЗапуска = 9877;
ОбъектСервера = OPI_TCP.ЗапуститьСервер(ПортЗапуска);
// Подключаемся к запущенному серверу
АдресПодключения = "127.0.0.1:9877";
ОбъектКлиента = OPI_TCP.ОткрытьСоединение(АдресПодключения);
Если Не OPI_TCP.ЭтоОбъектКлиента(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
// Получаем список соединений сервера
СписокСоединений = OPI_TCP.ПолучитьСписокСоединений(ОбъектСервера);
Если Не СписокСоединений["result"] Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(СписокСоединений);
КонецЕсли;
Если СписокСоединений["connections"].Количество() = 0 Тогда
ВызватьИсключение "Список соединений пуст";
Иначе
IDСоединения = СписокСоединений["connections"][0]["connectionId"];
КонецЕсли;
Для Н = 0 По 5 Цикл
// Отправляем из клиента
ТекущееСообщение = СтрШаблон("Message no. %1%2", Н, Символы.ПС);
OPI_TCP.ОтправитьСтроку(ОбъектКлиента, ТекущееСообщение);
// Получем на сервере
Результат = OPI_TCP.ПолучитьДанныеСоединения(ОбъектСервера, IDСоединения, 5000, 8192);
КонецЦикла;
Результат
{
"active": true,
"address": "127.0.0.1:35718",
"connectionId": "98c34585-4894-4d32-a62f-b54094423596",
"message": "<ДвоичныеДанные>",
"result": true
}