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

Соединение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(СетевойАдрес: СетевойАдрес, ТаймаутПодключения: Длительность?, ТаймаутЧтения: Длительность?, ПоддерживатьАктивность: Булево = Ложь)


Свойства​

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


Методы​

Закрыто​

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


Закрыть​

Закрыть()

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


Подключено​

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


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

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


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

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


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

Закрываемое​

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

Объект​

ВСтроку

ПолучитьТип

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