Соединение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(
СетевойАдрес: СетевойАдрес,
ТаймаутПодключения: Длительность?,
ТаймаутЧтения: Длительность?,
ПоддерживатьАктивность: Булево = Ложь)СетевойАдрес- сетевой адрес у даленного узла, например: "linux-server-01" или "127.0.0.1".ТаймаутПодключения- время ожидания подключения к удаленному серверу.ТаймаутЧтения- время ожидания чтения из входящего потока. Предотвращает вечное зависание при чтении потока.ПоддержкаАктивности- используется для определения "зависших" соединений и для поддержки долгих соединений при отсутствии трафика.
Исключения
ИсключениеВводаВывода - при ошибках подключения. ИсключениеТаймаутаTcp - если время ожидания для установления соединения истекло.
Соед инениеTcp
СоединениеTcp(
Адрес: Строка,
Порт: Число,
ТаймаутПодключения: Длительность? = Неопределено,
ТаймаутЧтения: Длительность? = Неопределено,
ПоддерживатьАктивность: Булево = Ложь)Адрес- адрес удаленного узла, например: "linux-server-01" или "127.0.0.1".Порт- порт удаленного узла. Разрешенный диапазон 1-65535. Например, 8080.ТаймаутПодключения- время ожидания подключения к удаленному узлу.ТаймаутЧтения- время ожидания чтения из входящего потока. Предотвращает вечное зависание при чтении потока.ПоддержкаАктивности- используется для определения "зависших" соединений и для поддержки долгих соединений при отсутствии трафика.
Исключения
ИсключениеВводаВывода - при ошибках подключения. ИсключениеТаймаутаTcp - если время ожидания для установления соединения истекло.
Свойства
ЛокальныйАдрес
ТолькоЧтение
ЛокальныйАдрес: СетевойАдресЛокальный адрес текущего подключения.
ПоддержкаАктивности
ТолькоЧтение
ПоддержкаАктивности: БулевоПризнак, нужно ли поддерживать активность соединения.
ТаймаутПодключения
ТолькоЧтение
ТаймаутПодключения: ДлительностьВремя ожидания подключения к удаленному серверу.
ТаймаутЧтения
ТолькоЧтение
ТаймаутЧтения: ДлительностьВремя ожидания чтения соединения.
УдаленныйАдрес
ТолькоЧтение
УдаленныйАдрес: СетевойАдресУдаленный адрес сервера.
Методы
Закрыто
Закрыто(): БулевоЗакрыть
Закрыть()Переопределение
Закрываемое::Закрыть
Подключено
Подключено(): БулевоПолучитьПотокЗаписи
ПолучитьПотокЗаписи(): ПотокЗаписиПолучитьПотокЧтения
ПолучитьПотокЧтения(): ПотокЧтения