Вверх ↑
Ответов: 4630
Рейтинг: 749
#1: 2014-07-01 12:12:15 ЛС | профиль | цитата
Стоял тот же, только в режиме StreamToStr. Оригинальные схемы примеров можно найти в первом посте темы об указанных компонентах.
Отдельно работы с Stream там нет. Просто потому, что это можно сделать в схеме самому. Вариантов два:
1) Использовать конвертер. Поток преобразовывается в строку и отправляется. Минус - ограничение на объем файла (может не поместится в ОЗУ). Плюс - простота реализации. Данные через сеть передаются одинаково что из строки, что из стрима.
2) Используя DataToFile, в цикле считывать файл частями и отправлять опять же в виде строки. Минус - штатный DataToFile не умеет считывать/записывать строку указанной длины, а только строки с разделителями. Можно использовать модифицированный DataToFile. Плюс - таким образом можно реализовать практически любой существующий или собственный протокол передачи данных (впрочем, как и в первом случае).

Почему режим Stream не был введен в компонент? Потому, что передачу файла таким образом на практике применить тяжело: другой стороне сложно узнать об размере файла, начале/окончании передачи, обработать отмену передачи (в общем передать любую служебную информацию). Опять же ограничен размер файла на принимающей стороне.
карма: 26

0