1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-29 21:57:16 +02:00

25 lines
2.8 KiB
Markdown
Raw Normal View History

---
id: TCP
sidebar_class_name: TCP
---
<img src={require('../../static/img/APIs/TCP.png').default} width='64px' />
# TCP (Клиент)
2024-12-25 09:49:01 +03:00
Этот раздел посвящен библиотеке для работы с протоколом TCP. На данной странице описаны все действия, необходимые для полноценного начала работы
## О реализованных методах
Данная библиотека предоставляет несколько готовых методов для работы в качестве TCP клиента. Стандартная схема взаимодействия с сервером выглядит следующим образом:
1. Создание объекта и подключение к серверу производится при помощи функции `ОткрытьСоединение`. Туда передается строка подключения в формате `<адрес>:<порт>`
2. При необходимости, серверу можно отправить сообщение при помощи функций `ОтправитьДвоичныеДанные` и `ОтправитСтроку`
3. Для получения данных от сервера, используются функции `ПрочитатьДвоичныеДанные` и `ПрочитатьСтроку`. Они имеют различные параметры для ограничения получаемых данных по размеру, маркеру и ожиданию ввода (таймауту)
4. При окончании работы желательно явно завершать соединение при помощи функции `ЗакрытьСоединение`
Для простого сценария со стандартными настройками, также существует функция `ОбработатьЗапрос` - она отправляет данные на указанный адрес и ждет ответа, завершая чтение при нахождении стандартного маркера `\\n`. Также это единственная функция, которая доступна в CLI версии ОПИ
## Совместимость
2025-01-10 09:44:15 +03:00
Технически, реализация клиента представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива, и, теоретически, должна работать на всех доступных платформах: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64