Сейчас надо подумать, как изложить.
Скоро отпишусь.
------------------------
Здесь реализован простой вариант, без именованных каналов.
http://www.frolov-lib.ru/books/bsp/v27/ch2_3.htm
Работает так:
Приложение, с которым происходит обмен, должно уметь не только вести обмен с консолью, или файлом, но и обмениваться через каналы In и Out.
Как правило все консольные(и не только) приложения это умеют.
В командной строке обычно указывается -i (канал ввода) и -o(канал вывода).
Один из параметров может быть файлом.
1. вариант.
На точку FileName подаем имя файла с которым будим обмениваться, в командной строке указываем -i, это значит, что мы будем передавать данные.
Пишем какие-то ключи, и в той-же командной строке пишем -o, это значит, что мы будем принимать данные.
Например mystem -n -i -g -e cp1251 - в данном примере нет -o, по умолчанию, если получатель не указан, то всё выводится в канал OUT.
На точку doIN подаём данные, которые передаём приложению. Данные могут быть любыми, короче, какие нам нужно передать.
С точки onOUT принимаем данные, то-есть точка onOUT это выход данных приложения.
Собственно получается что наша программа является терминалом.
Чего-то пишем, дочерние приложение чего-то делает и отвечает нам.
2. вариант.
Всё то-же самое, только не мы передаём данные, а они берутся из файла(в примере *.fb2), а ответ получаем мы, в виде текстового файла.
3. вариант.
Всё то-же самое, только мы передаём данные, а в качестве получателя, или файл, или терминал, или ...
Вроде бы всё.
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
|
Редактировалось 1 раз(а), последний 2017-02-27 21:41:26