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

СоединениеTcp

Стд::Tcp::СоединениеTcp

Соединение TCP - объект для работы с одним соединением по протоколу TCP. Служит абстракцией над низкоуровневой работой с сокетами ОС.

Используется блокирующее I/O.

Соединение позволяет реализовать клиенты для работы с:

  • FTP,
  • HTTP,
  • Электронной почтой (SMTP, POP3, IMAP),
  • SSH,
  • MQTT,
  • любой другой клиент с собственным протоколом поверх TCP.

Сравнение

Ссылочное

Иерархия типа

Базовые типы: Закрываемое, Объект


Примеры

Общие примеры

Подключение к Эхо-серверу по TCP. Эхо-сервер - произвольный TCP-сервер, отвечающий на запросы клиента текстом, который он получил от клиента.

метод ПримерКлиентаЭхоСервера()
знч Разделитель = "\n"
исп Соединение = новый СоединениеTcp(Адрес = "127.0.0.1", Порт = 5000)
знч ЧтениеДанных = новый ЧтениеДанных(Соединение.ПолучитьПотокЧтения())
исп ПотокЗаписи = Соединение.ПолучитьПотокЗаписи()
ПотокЗаписи.Записать("Hello" + Разделитель, Кодировка.Utf8)
ПотокЗаписи.СброситьБуферы()

знч Сообщение = ЧтениеДанных.ПрочитатьСтроку(Кодировка.Utf8, Разделитель) // получено "Hello"
;

Конструкторы

СоединениеTcp

СоединениеTcp(
СетевойАдрес: СетевойАдрес,
ТаймаутПодключения: Длительность?,
ТаймаутЧтения: Длительность?,
ПоддерживатьАктивность: Булево = Ложь)
Создает новое TCP-соединение к удаленному серверу.

  • СетевойАдрес - сетевой адрес удаленного узла, например: "linux-server-01" или "127.0.0.1".
  • ТаймаутПодключения - время ожидания подключения к удаленному серверу.
  • ТаймаутЧтения - время ожидания чтения из входящего потока. Предотвращает вечное зависание при чтении потока.
  • ПоддержкаАктивности - используется для определения "зависших" соединений и для поддержки долгих соединений при отсутствии трафика.

Исключения

ИсключениеВводаВывода - при ошибках подключения. ИсключениеТаймаутаTcp - если время ожидания для установления соединения истекло.

Перегрузка
СоединениеTcp(Адрес: Строка, Порт: Число, ТаймаутПодключения: Длительность? = Неопределено, ТаймаутЧтения: Длительность? = Неопределено, ПоддерживатьАктивность: Булево = Ложь)


СоединениеTcp

СоединениеTcp(
Адрес: Строка,
Порт: Число,
ТаймаутПодключения: Длительность? = Неопределено,
ТаймаутЧтения: Длительность? = Неопределено,
ПоддерживатьАктивность: Булево = Ложь)
Создает новое TCP-соединение к удаленному серверу.

  • Адрес - адрес удаленного узла, например: "linux-server-01" или "127.0.0.1".
  • Порт - порт удаленного узла. Разрешенный диапазон 1-65535. Например, 8080.
  • ТаймаутПодключения - время ожидания подключения к удаленному узлу.
  • ТаймаутЧтения - время ожидания чтения из входящего потока. Предотвращает вечное зависание при чтении потока.
  • ПоддержкаАктивности - используется для определения "зависших" соединений и для поддержки долгих соединений при отсутствии трафика.

Исключения

ИсключениеВводаВывода - при ошибках подключения. ИсключениеТаймаутаTcp - если время ожидания для установления соединения истекло.

Перегрузка
СоединениеTcp(СетевойАдрес: СетевойАдрес, ТаймаутПодключения: Длительность?, ТаймаутЧтения: Длительность?, ПоддерживатьАктивность: Булево = Ложь)


Свойства

ЛокальныйАдрес

ТолькоЧтение

ЛокальныйАдрес: СетевойАдрес

Локальный адрес текущего подключения.


ПоддержкаАктивности

ТолькоЧтение

ПоддержкаАктивности: Булево

Признак, нужно ли поддерживать активность соединения.


ТаймаутПодключения

ТолькоЧтение

ТаймаутПодключения: Длительность

Время ожидания подключения к удаленному серверу.


ТаймаутЧтения

ТолькоЧтение

ТаймаутЧтения: Длительность

Время ожидания чтения соединения.


УдаленныйАдрес

ТолькоЧтение

УдаленныйАдрес: СетевойАдрес

Удаленный адрес сервера.


Методы

Закрыто

Закрыто(): Булево
Возвращает признак, закрыто ли соединение.


Закрыть

Закрыть()

Переопределение
Закрываемое::Закрыть


Подключено

Подключено(): Булево
Возвращает признак, установлено ли соединение.


ПолучитьПотокЗаписи

ПолучитьПотокЗаписи(): ПотокЗаписи
Возвращает исходящий поток записи соединения.


ПолучитьПотокЧтения

ПолучитьПотокЧтения(): ПотокЧтения
Возвращает входящий поток чтения соединения.


Список унаследованных методов

Закрываемое

Закрыть (Переопределение)

Объект

ВСтроку

ПолучитьТип

Представление