Flex SockMonitor медленная инициализация - PullRequest
0 голосов
/ 07 августа 2011

Кажется, глючит в 2 ситуациях,

Я объявляю таймер для сокета

private var socketTimer:Timer = new Timer(500,1);

Код 1: Этот код занял несколько секунд перед выполнением NativeProcess

public function onTimerComplete(event:TimerEvent):void {
    socketMonitor = new SocketMonitor('127.0.0.1',8090);
    socketMonitor.addEventListener(StatusEvent.STATUS, socketStatusChange);
    socketMonitor.start();
}

private function socketStatusChange(e:StatusEvent):void {
    if(socketMonitor.available==false && xSo_start==false) {
        xSo_start=true;
        xSoDump();      //Execute NativeProcess EXE
    }
}

Код 2 (Оптимизировать): Этот код немедленно выполнит NativeProcess, но через несколько минут NativeProcess зависнет сам по себе безо всякой ошибки:

public function onTimerComplete(event:TimerEvent):void {
    socketMonitor = new SocketMonitor('127.0.0.1',8090);
    socketMonitor.addEventListener(StatusEvent.STATUS, socketStatusChange);
    socketMonitor.start();
    xSoDump();
}
private function socketStatusChange(e:StatusEvent):void {
}

В определенных ситуациях NativeProcess тоже будет зависать, что заставляет меня задуматься, сталкивался ли кто-нибудь с той же самкой?

1 Ответ

0 голосов
/ 07 августа 2011

NativeProcess может быть приостановлен, пока он ожидает чтения из потоков StandardOutput или StandardError (особенно, если NativeProcess является приложением командной строки).Это может быть то, что вы видите как «зависание» NativeProcess.

Вы должны читать из потоков StandardOutput / StandardError, чтобы очистить буферы, даже если вы ничего не делаете с данными.1005 * Просмотрите документацию, чтобы узнать, как они обрабатывают события ProgressEvent.STANDARD_OUTPUT_DATA и ProgressEvent.STANDARD_ERROR_DATA (и обработчики ошибок):
http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/desktop/NativeProcess.html#includeExamplesSummary

В противном случае, вы можете предоставить дополнительную информациючто делает NativeProcess?

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