У меня есть исполняемый файл C (с именем myprogram). Когда я запускаю его по ./myprogram
, я получаю несколько выходных операторов на стандартный вывод моей оболочки Linux.
Я использовал run.php, чтобы получить доступ ко всему, что выводится на стандартный вывод:
#run.php
<?php
$output = shell_exec('./myprogram');
echo $output;
?>
Затем я вызвал HTTPService с id = "service" для доступа к этому файлу run.php, а также установил для текстового атрибута TextArea значение {service.lastResult}. Когда я запускаю свое приложение Flex, интерфейс на мгновение останавливается, а затем TextArea отображает все 20 строк одновременно.
Но если программа запускается из оболочки Linux, они появляются один за другим.
Есть ли способ, с помощью которого я могу отображать строку, как только она выводится на стандартный вывод? Затем TextArea отобразит вывод в реальном времени.
Или Flex не может этого сделать? Скорее, как PHP-программа может достичь такого эффекта, то есть показать, что печатается на стандартном выводе, одновременно в браузере в реальном времени?
Обновление:
Давайте сделаем вопрос немного более конкретным и / или простым.
myprogram выводит 20 строк каждая через несколько микросекунд. Я хочу, чтобы только первая строка стандартного вывода отображалась в TextArea Flex или в браузере (но в режиме реального времени), в то время как программа может затем продолжить выполнение программы.
Не выглядит просто: P