Новое в версии 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). Ранее в этом случае выбрасывалось исключение.