diff --git a/ci/os/docs_main.os b/ci/os/docs_main.os index 1dea38e0ba..cae0728b24 100644 --- a/ci/os/docs_main.os +++ b/ci/os/docs_main.os @@ -167,7 +167,7 @@ Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл - Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) Или Не СтруктураМетода["ЕстьCLI"] Тогда + Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) И СтруктураМетода["ЕстьCLI"] Тогда Сообщить("Метод не имеет опции: " + СтруктураМетода["Заголовок"]); Возврат; КонецЕсли; @@ -557,13 +557,13 @@ ПутьCLI = КаталогCLI + СтруктураМетода["Команда"] + "/" + СтруктураМетода["ИмяМетода"]; ФайлCLI = Новый Файл(ПутьCLI); - ВызовCLI = ""; + ЕстьCLI = СтруктураМетода["ЕстьCLI"]; Если Не ФайлCLI.Существует() Тогда Возврат ""; - Иначе + ИначеЕсли ЕстьCLI Тогда СоответствиеПодсветки = Новый Соответствие(); СоответствиеПодсветки.Вставить("bat" , "batch"); @@ -613,23 +613,21 @@ ПолныйТекст = ПолныйТекст + Символы.ПС + ""; Возврат ПолныйТекст; + + Иначе + + Возврат ":::caution" + + Символы.ПС + + "**NOCLI!:** данный метод недоступен для использования в CLI версии" + + Символы.ПС + + ":::" + + Символы.ПС + + "
"; КонецЕсли; КонецФункции -Функция ОпределитьЗначениеОпции(Опция, Значение = "") - - Если ЗначениеЗаполнено(Значение) Тогда - Опция = """" + Строка(Значение) + """"; - Иначе - Опция = "%" + СтрЗаменить(Опция, "-", "") + "%"; - КонецЕсли; - - Возврат Опция; - -КонецФункции - Процедура ПроверитьСоздатьКаталог(Путь) Каталог = Новый Файл(Путь); diff --git a/docs/docusaurus/src/css/custom.css b/docs/docusaurus/src/css/custom.css index a45ab8feef..e634a6f7a3 100644 --- a/docs/docusaurus/src/css/custom.css +++ b/docs/docusaurus/src/css/custom.css @@ -130,7 +130,7 @@ li > a.menu__link { .Notion a::before, .GoogleCalendar a::before, .GoogleDrive a::before, .GoogleSheets a::before, .Slack a::before, .YandexDisk a::before, .Dropbox a::before, .Bitrix24 a::before, .Messenger a::before, .Social a::before, .Database a::before, .Folder a::before, .Calendar a::before, .CRM a::before, .Commerce a::before, -.VKTeams a::before, .S3 a::before, .Ozon a::before, .Neocities a::before, .CDEK a::before, .Start a::before, .Other a::before{ +.VKTeams a::before, .S3 a::before, .TCP a::before, .Ozon a::before, .Neocities a::before, .CDEK a::before, .Start a::before, .Other a::before{ padding-right: 0.7rem; padding-top: 0.4rem; } @@ -207,6 +207,10 @@ li > a.menu__link { content: url(../../static/img/APIs/small/S3.png); } +.TCP > div > a::before{ + content: url(../../static/img/APIs/small/TCP.png); +} + .Messenger > div > a::before{ content: url(../../static/img/Categories/chat.png); } diff --git a/docs/docusaurus/static/img/APIs/TCP.png b/docs/docusaurus/static/img/APIs/TCP.png new file mode 100644 index 0000000000..38981f8df6 Binary files /dev/null and b/docs/docusaurus/static/img/APIs/TCP.png differ diff --git a/docs/docusaurus/static/img/APIs/small/TCP.png b/docs/docusaurus/static/img/APIs/small/TCP.png new file mode 100644 index 0000000000..407cbd7cdc Binary files /dev/null and b/docs/docusaurus/static/img/APIs/small/TCP.png differ diff --git a/docs/en/md/Instructions/TCP.md b/docs/en/md/Instructions/TCP.md new file mode 100644 index 0000000000..d439f16fd7 --- /dev/null +++ b/docs/en/md/Instructions/TCP.md @@ -0,0 +1,10 @@ +--- +id: TCP +sidebar_class_name: TCP +--- + + + +# TCP (Client) + +This section is dedicated to the library for working with the TCP. On this page, all the steps necessary to start working are described \ No newline at end of file diff --git a/docs/en/md/sidebars.js b/docs/en/md/sidebars.js index 9387467b27..5fba0f6e7d 100644 --- a/docs/en/md/sidebars.js +++ b/docs/en/md/sidebars.js @@ -81,6 +81,7 @@ className: 'Other', items:[ { type: 'category', link: {type: 'doc', id:'Instructions/Neocities'}, label: 'Neocities', className: 'Neocities', items:[{type: 'autogenerated', dirName: 'Neocities'}]}, + { type: 'category', link: {type: 'doc', id:'Instructions/TCP'}, label: 'TCP', className: 'TCP', items:[{type: 'autogenerated', dirName: 'TCP'}]}, ] } ], diff --git a/docs/ru/md/Instructions/TCP.md b/docs/ru/md/Instructions/TCP.md new file mode 100644 index 0000000000..cdb810ee7a --- /dev/null +++ b/docs/ru/md/Instructions/TCP.md @@ -0,0 +1,10 @@ +--- +id: TCP +sidebar_class_name: TCP +--- + + + +# TCP (Клиент) + +Этот раздел посвящен библиотеке для работы с протоколом TCP. На данной странице описаны все действия, необходимые для полноценного начала работы \ No newline at end of file diff --git a/docs/ru/md/sidebars.js b/docs/ru/md/sidebars.js index 1fcd78e649..36f8a14546 100644 --- a/docs/ru/md/sidebars.js +++ b/docs/ru/md/sidebars.js @@ -81,6 +81,7 @@ export default { className: 'Other', items:[ { type: 'category', link: {type: 'doc', id:'Instructions/Neocities'}, label: 'Neocities', className: 'Neocities', items:[{type: 'autogenerated', dirName: 'Neocities'}]}, + { type: 'category', link: {type: 'doc', id:'Instructions/TCP'}, label: 'TCP', className: 'TCP', items:[{type: 'autogenerated', dirName: 'TCP'}]}, ] } ], diff --git a/media/TCP.png b/media/TCP.png new file mode 100644 index 0000000000..3274c9a1f7 Binary files /dev/null and b/media/TCP.png differ diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl index d99c8c895b..0b3bd45d42 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -2182,6 +2182,8 @@ TCP_ОткрытьСоединение(ПараметрыТеста); TCP_ЗакрытьСоединение(ПараметрыТеста); TCP_ПрочитатьДвоичныеДанные(ПараметрыТеста); + TCP_ОтправитьДвоичныеДанные(ПараметрыТеста); + TCP_ОбработатьЗапрос(ПараметрыТеста); КонецПроцедуры @@ -15709,6 +15711,7 @@ // Маркер конца сообщения для исключения ожидания конца таймаута Маркер = Символы.ПС; Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер); + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OPI_TCP.ЗакрытьСоединение(Соединение); @@ -15732,6 +15735,56 @@ КонецПроцедуры +Процедура TCP_ОтправитьДвоичныеДанные(ПараметрыФункции) Экспорт + + Адрес = ПараметрыФункции["TCP_Address"]; + Соединение = OPI_TCP.ОткрытьСоединение(Адрес); + Сообщение = "Hello server!" + Символы.ПС; + Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение); + + OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные); + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + // Маркер конца сообщения для исключения ожидания конца таймаута + Маркер = Символы.ПС; + Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер); + + OPI_TCP.ЗакрытьСоединение(Соединение); + + // END + + Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат); + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДвоичныеДанные", "TCP"); + OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение); + + Соединение = OPI_TCP.ОткрытьСоединение(Адрес); + + OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные); + Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , , 50000); + + OPI_TCP.ЗакрытьСоединение(Соединение); + + Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат); + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДвоичныеДанные (таймаут)", "TCP"); + OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение); + + +КонецПроцедуры + +Процедура TCP_ОбработатьЗапрос(ПараметрыФункции) Экспорт + + Адрес = ПараметрыФункции["TCP_Address"]; + Данные = "Echo this!\n"; + + Результат = OPI_TCP.ОбработатьЗапрос(Адрес, Данные); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбработатьЗапрос", "TCP"); + OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Данные); + +КонецПроцедуры + #КонецОбласти #КонецОбласти