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

Новое в версии 9.1

Прикладная функциональность

Поддержка протокола TCP

Добавлено пространство имен Стд::Tcp, содержащее типы для работы с сетевыми соединениями по протоколу TCP:

  • СоединениеTcp — позволяет устанавливать клиентские TCP-соединения для взаимодействия с различными сетевыми сервисами (HTTP, FTP, SMTP, SSH и другими).
  • ВходящееСоединениеTcp — представляет входящее TCP-соединение, принятое сервером.
  • БлокирующийСерверTcp — реализует TCP-сервер для прослушивания входящих соединений и обмена данными.
  • ИсключениеTcp — исключение, которое выбрасывается при возникновении ошибки во время работы с TCP.
  • ИсключениеТаймаутаTcp — исключение, которое выбрасывается при превышении времени ожидания при работе с TCP.

Также реализовано пространство имен Стд::Сеть для работы с сетью. Включает в себя объект СетевойАдрес — сочетание хоста и порта, используемых для сетевого взаимодействия.

Исправления ошибок

Исправлена ошибка чтения данных при перенаправлении потоков

Методы с префиксом Считать типа Консоль теперь корректно считывают данные из входящего потока в случае перенаправления потока ввода из файла или конвейера (pipe). При попытке чтения закрытого или закончившегося потока выбрасывается ИсключениеВводаВывода.

В качестве примера рассмотрим скрипт вида:

метод Скрипт()
знч A = Консоль.СчитатьЧисло()
знч B = Консоль.СчитатьЧисло()
Консоль.Записать(A + B)
;

Пусть при запуске скрипта чтение входных данных выполняется из файла input.txt, который содержит два числа (например, 100 и 200):

executor Скрипт.sbsl < input.txt

Скрипт выведет в консоль корректный результат — сумму двух чисел (300). Ранее в этом случае выбрасывалось исключение.