1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-14 04:35:49 +02:00

Доработки обработки запроса TCP

This commit is contained in:
Anton Titovets 2024-12-15 22:24:28 +03:00
parent e131920b40
commit fdde1c370e
6 changed files with 5894 additions and 5849 deletions

File diff suppressed because it is too large Load Diff

View File

@ -198,21 +198,26 @@
// Отправляет одиночный запрос на указанный адрес и получает ответ, используя стандартные настройки
//
// Параметры:
// Адрес - Строка - Адрес и порт для подключения - address
// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
// Адрес - Строка - Адрес и порт для подключения - address
// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
// Перенос - Булево - Завершить сообщение символом переноса строка - nl
//
// Возвращаемое значение:
// ДвоичныеДанные, Строка - Ответ на запрос
Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина) Экспорт
Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина, Знач Перенос = Истина) Экспорт
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные, Истина);
OPI_ПреобразованиеТипов.ПолучитьБулево(ОтветСтрокой);
OPI_ПреобразованиеТипов.ПолучитьБулево(Перенос);
Соединение = ОткрытьСоединение(Адрес);
Если Перенос Тогда
Данные = OPI_Инструменты.СклеитьДанные(Данные, ПолучитьДвоичныеДанныеИзСтроки(Символы.ПС));
КонецЕсли;
Результат = ОтправитьДвоичныеДанные(Соединение, Данные);
Соединение.CloseOutput();
Если Результат Тогда

View File

@ -2060,9 +2060,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -1084,6 +1084,22 @@
КонецФункции
Функция СклеитьДанные(Знач Данные, Знач Дополнение) Экспорт
Поток = Новый ПотокВПамяти();
Запись = Новый ЗаписьДанных(Поток);
Запись.Записать(Данные);
Запись.Записать(Дополнение);
Запись.Закрыть();
Результат = Поток.ЗакрытьИПолучитьДвоичныеДанные();
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -198,21 +198,26 @@
// Отправляет одиночный запрос на указанный адрес и получает ответ, используя стандартные настройки
//
// Параметры:
// Адрес - Строка - Адрес и порт для подключения - address
// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
// Адрес - Строка - Адрес и порт для подключения - address
// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
// Перенос - Булево - Завершить сообщение символом переноса строки - nl
//
// Возвращаемое значение:
// ДвоичныеДанные, Строка - Ответ на запрос
Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина) Экспорт
Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина, Знач Перенос = Истина) Экспорт
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные, Истина);
OPI_ПреобразованиеТипов.ПолучитьБулево(ОтветСтрокой);
OPI_ПреобразованиеТипов.ПолучитьБулево(Перенос);
Соединение = ОткрытьСоединение(Адрес);
Если Перенос Тогда
Данные = OPI_Инструменты.СклеитьДанные(Данные, ПолучитьДвоичныеДанныеИзСтроки(Символы.ПС));
КонецЕсли;
Результат = ОтправитьДвоичныеДанные(Соединение, Данные);
Соединение.CloseOutput();
Если Результат Тогда

View File

@ -1084,6 +1084,22 @@
КонецФункции
Функция СклеитьДанные(Знач Данные, Знач Дополнение) Экспорт
Поток = Новый ПотокВПамяти();
Запись = Новый ЗаписьДанных(Поток);
Запись.Записать(Данные);
Запись.Записать(Дополнение);
Запись.Закрыть();
Результат = Поток.ЗакрытьИПолучитьДвоичныеДанные();
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти