Эта утилита иллюстрирует функции терминальной связи по каналу.
В начале открывается несколько тестовых окон:
r:=eval('@async @term -c pipe .\test');
r:=eval('@async @term -ca task ping /t localhost');
r:=eval('@async @term -c tcp port 1234 client localhost');
r:=eval('@async @term -cx tcp port 1234 client '+ParamStr('ComputerName'));
Потом создается три канала:
TaskPipe:=pipe_init('task '+GetComSpec);
PipePipe:=pipe_init('pipe test');
TcpPipe :=pipe_init('tcp port 1234 server 3');
Далее, если пользователь вводит в консоли Daq программы строку, она передается во все каналы. Поскольку в программе запускаются серверы, а в терминальных окнах клиенты, то в результате введенная строка должна появиться во всех клиентских окнах. Ее получит также и командный процессор, выполняя введенные команды. Если, например, ввести команду dir, то в результате в консольном окне появится содержимое каталога.
В то же время данные от всех клиентов помещаются в консоль программы с указанием источника, откуда пришли данные.