Новое в версии 9.1
Новая функциональность
Поддержка протокола TCP
TCP (Transmission Control Protocol) — это один из основных протоколов сетевого уровня, обеспечивающий надежную передачу данных между приложениями в сети. TCP гарантирует доставку сообщений в правильном порядке, выполняет проверку целостности данных и автоматически восстанавливает потерянные пакеты. Этот протокол имеет широкую область применения, которая включает сетевые приложения (в том числе веб-сервисы), электронную почту, передачу файлов и удаленный доступ.
Добавлено пространство имен Стд::Tcp, содержащее типы для работы с сетевыми соединениями по протоколу TCP:
СоединениеTcp— позволяет устанавливать клиентские TCP-соединения для взаимодействия с различными сетевыми сервисами (HTTP, FTP, SMTP, SSH и другими).ВходящееСоединениеTcp— представляет входящее TCP-соединение, принятое сервером.БлокирующийСерверTcp— реализует TCP-сервер для прослушивания входящих соединений и обмена данными.ИсключениеTcp— исключение, которое выбрасывается при возникновении ошибки во время работы с TCP.ИсключениеТаймаутаTcp— исключение, которое выбрасывается при превышении времени ожидания при работе с TCP.
В примере ниже показано создание простого эхо-сервера, который принимает входящее соединение от клиента, получает отправленные данные и возвращает их обратно без изменений.
метод ПримерЭхоСервер()
знч Разделитель = "\n"
исп Сервер = новый БлокирующийСерверTcp(Адрес = "127.0.0.1", Порт = 5000)
исп Соединение = Сервер.ОжидатьСоединения(30с)
знч ЧтениеДанных = новый ЧтениеДанных(Соединение.ПолучитьПотокЧтения())
знч Сообщение = ЧтениеДанных.ПрочитатьСтроку(РазделительСтрок = Разделитель) // Получено "Hello"
исп ПотокЗаписи = Соединение.ПолучитьПотокЗаписи()
ПотокЗаписи.Записать(Строка + Разделитель)
ПотокЗаписи.СброситьБуферы()
;
метод ПримерКлиентаЭхоСервера()
знч Разделитель = "\n"
исп Соединение = новый СоединениеTcp(Адрес = "127.0.0.1", Порт = 5000)
знч ЧтениеДанных = новый ЧтениеДанных(Соединение.ПолучитьПотокВвода())
исп ПотокЗаписи = Соединение.ПолучитьПотокВывода()
ПотокЗаписи.Записать("Hello" + Разделитель, Кодировка.Utf8)
ПотокЗаписи.СброситьБуферы()
знч Сообщение = ЧтениеДанных.ПрочитатьСтроку(Кодировка.Utf8, Разделитель) // Получено "Hello"
;