Adobe Air - чтение обновлений для файла с помощью FileStream - PullRequest
0 голосов
/ 19 ноября 2009

Я пытаюсь заставить два разных приложения общаться через файл. Я хотел бы, чтобы приложение 1 добавляло некоторый текст в файл, и приложение 2, чтобы замечать, и читало новые байты (не весь файл).

Существует событие ProgressEvent.PROGRESS, которое должно срабатывать, когда новые данные доступны в FileStream, но оно срабатывает только при первом открытии файла.

По сути, я хотел бы оставить FileStream открытым, слушая изменения, как сокет на конце этого файла. Является ли это возможным? Какие-либо соображения производительности?

Thanks1

Ответы [ 3 ]

0 голосов
/ 19 ноября 2009

Вы можете использовать класс FileMonitor, который входит в пакет Adobe as3corelib, для мониторинга файлов.

http://code.google.com/p/as3corelib/

Он поставляется с событиями FileMonitorEvent.CHANGE, MOVE и CREATE.

Презентация и пример здесь:

http://www.mikechambers.com/blog/2009/03/11/monitoring-file-changes-in-adobe-air/

0 голосов
/ 11 декабря 2009

Я понимаю, что вам, вероятно, нужен сокетоподобный «интерфейс» для чтения / записи файлов между двумя приложениями, но вы можете достичь того же с помощью локального SharedObject и класса «manager», который использует класс localConnection делать определенные вещи с этим sharedObject / file. Случайная мысль ....

0 голосов
/ 19 ноября 2009

Я бы сказал, вести учет размера файлов, периодически проверять его с помощью таймера, а затем искать конец старого файла, когда он становится больше. С AIR 2.0 это будет легко, если вы встраиваете что-то похожее на tail -f.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...