Главная / Action Script 3
(Только AIR)
Пакетair.net
Классpublic dynamic class ServiceMonitor
НаследованиеServiceMonitor Inheritance EventDispatcher Inheritance Object
Подклассы SocketMonitor, URLMonitor

Версия продукта: AIR 1.0

Класс ServiceMonitor внедряет среду для мониторинга состояния и доступности сетевых служб. Класс ServiceMonitor выступает в качестве базового для других мониторов служб.

Чтобы использовать этот класс в коде JavaScript, загрузите файл ServiceMonitor.swf, как описано ниже:

<script src="ServiceMonitor.swf" type="application/x-shockwave-flash">



Общедоступные свойства
 СвойствоОпределено
  available : Boolean
Показывает, считается ли служба "доступной" в данный момент. Начальным значением является false до тех пор, пока проверка состояния не приведет к присвоению свойству значения true, либо свойство не будет инициализировано со значением true явным образом. Как правило, это свойство настраивается с помощью реализации метода checkStatus() в подклассе или специализирующем объекте. Но если приложение обладает независимым источником информации о доступности службы (например, успешно или безуспешно выполненным запросом), свойство можно задать вручную.
ServiceMonitor
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  lastStatusUpdate : Date
[только для чтения] Время последнего обновления состояния.
ServiceMonitor
  pollInterval : Number
Интервал опроса сервера в миллисекундах.
ServiceMonitor
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  running : Boolean
[только для чтения] Показывает, запущен ли монитор.
ServiceMonitor
Общедоступные методы
 МетодОпределено
  
Создает объект ServiceMonitor.
ServiceMonitor
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
 Inherited
Передает событие в поток событий.
EventDispatcher
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
makeJavascriptSubclass(constructorFunction:Object):void
[статические] Добавляет общедоступные методы ServiceMonitor в прототип функции конструктора JavaScript.
ServiceMonitor
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
Запускает монитор служб.
ServiceMonitor
  
Останавливает мониторинг службы.
ServiceMonitor
  
Возвращает строковое представление заданного объекта.
ServiceMonitor
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
Защищенные методы
 МетодОпределено
  
Проверяет состояние службы.
ServiceMonitor
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
  Указывает на изменение состояния службы.ServiceMonitor
Сведения о свойстве
availableсвойство
available:Boolean  [чтение и запись]

Версия продукта: AIR 1.0

Показывает, считается ли служба "доступной" в данный момент.

Начальным значением является false до тех пор, пока либо проверка состояния приведет к присвоению свойству значения true, либо свойство будет инициализировано со значением true явным образом.

Как правило, это свойство настраивается с помощью реализации метода checkStatus() в подклассе или специализирующем объекте. Но если приложение обладает независимым источником информации о доступности службы (например, успешно или безуспешно выполненным запросом), свойство можно задать вручную.



Реализация
    public function get available():Boolean
    public function set available(value:Boolean):void
lastStatusUpdateсвойство 
lastStatusUpdate:Date  [только для чтения]

Версия продукта: AIR 1.0

Время последнего обновления состояния.



Реализация
    public function get lastStatusUpdate():Date
pollIntervalсвойство 
pollInterval:Number  [чтение и запись]

Версия продукта: AIR 1.0

Интервал опроса сервера в миллисекундах.

Если он равен нулю, опрос сервера выполняется не периодически, а лишь после вызова метода start() и при изменении состояния сети.

Объект ServiceMonitor отправляет событие status только при изменении состояния службы, а не в каждом интервале опроса. Этот объект также отправляет событие status в результате изменений сетевой связности (независимо от интервала опроса).

Значение по умолчанию 0



Реализация
    public function get pollInterval():Number
    public function set pollInterval(value:Number):void
runningсвойство 
running:Boolean  [только для чтения]

Версия продукта: AIR 1.0

Показывает, запущен ли монитор.



Реализация
    public function get running():Boolean
Сведения о конструкторе
ServiceMonitor()Конструктор
public function ServiceMonitor()

Версия продукта: AIR 1.0

Создает объект ServiceMonitor.

Этот класс, как правило, является подклассом для отслеживания конкретных типов служб.

Класс можно определить в JavaScript (из содержимого приложения HTML) согласно описанию, приведенному для метода makeJavascriptSubclass().

После создания объекта ServiceMonitor (или объекта подкласса) вызовите метод start(), чтобы начать мониторинг состояния службы.

Как и в случае с объектом Timer, пользователь, выполняющий вызов, должен сохранить ссылку на объект ServiceMonitor. В противном случае этот объект удаляется при выполнении, и мониторинг заканчивается.

Сведения о методе
checkStatus()метод
protected function checkStatus():void

Версия продукта: AIR 1.0

Проверяет состояние службы.

Метод переопределения подкласса для проверки состояния службы.

Как правило, этот метод инициирует сетевую операцию, завершение или ошибка которой приводят к выбору значения свойства available.

Код JavaScript может специализировать этот метод путем определения метода checkStatus() в специализирующем объекте.

makeJavascriptSubclass()метод 
public static function makeJavascriptSubclass(constructorFunction:Object):void

Версия продукта: AIR 1.0

Добавляет общедоступные методы ServiceMonitor в прототип функции конструктора JavaScript.

Добавляет функции в прототип функции конструктора JavaScript, которые направляют общедоступные функции ServiceMonitor в объект ServiceMonitor. Это приближает обычный подкласс JavaScript к базовому классу ActionScript.

Класс JavaScript, который специализирует ServiceMonitor, выглядит следующим образом:

     // JavaScript Constructor function
     function MyHTTPMonitor(url, method)
     {
         // "that" variable makes "this" available in closures below
         var that = this;
         // Required initialization of the service monitor, returns the actual ServiceMonitor object.
         this.monitor = this.initServiceMonitor();
         // Initializes URLStream and event handlers.
         this._urlStream = new air.URLStream();
         this._urlRequest = new air.URLRequest(url);
         if (method)
         {
             this._urlRequest.method = method;
         }
         else
         {
             this._urlRequest.method = "GET";
         }
         function onStatus(event) {
             that.monitor.available = Number(event.status) == 200;
             that._urlStream.close();
         }
         function onError(event)
         {
             that.monitor.available = false;
             that._urlStream.close();
         }
         this._urlStream.addEventListener(air.HTTPStatusEvent.HTTP_RESPONSE_STATUS, onStatus);
         this._urlStream.addEventListener(air.SecurityErrorEvent.SECURITY_ERROR, onError);
         this._urlStream.addEventListener(air.IOErrorEvent.IO_ERROR, onError);
     }
          // Augment JavaScript prototype with public methods from ServiceMonitor
     air.ServiceMonitor.makeJavascriptSubclass(MyHTTPMonitor);
          // Implement specializer functions, just as you would when subclassing a JavaScript class
     MyHTTPMonitor.prototype.checkStatus = function()
     {
         air.trace('OVERRIDDEN checkStatus!', this);
         this._urlStream.load(this._urlRequest);
     }
     

Чтобы воспользоваться классом JavaScript, выполните следующие действия.

     var httpMon = new MyHTTPMonitor('http://www.adobe.com')
     

Обязательно загрузите файлы AIRAliases.js и ServiceMonitor.swf с тегами script.

Параметры

constructorFunction:Object — Свойство prototype объекта JavaScript. Например, если объект JavaScript, используемый в качестве специализирующего, назван MyHTTPMonitor, укажите в качестве значения этого параметра MyHTTPMonitor.prototype.

start()метод 
public function start():void

Версия продукта: AIR 1.0

Запускает монитор служб.

stop()метод 
public function stop():void

Версия продукта: AIR 1.0

Останавливает мониторинг службы.

toString()метод 
override public function toString():String

Версия продукта: AIR 1.0

Возвращает строковое представление заданного объекта.

Примечание. Методы класса Object динамически создаются в прототипе Object. Чтобы переопределить этот метод в подклассе Object, не используйте ключевое слово override. Например, в подклассе Object вместо переопределения базового класса применяется function toString():String.

Возвращает
String — Строковое представление объекта.
Сведения о событии
status Событие
Тип объекта события: flash.events.StatusEvent
свойство StatusEvent.type = flash.events.StatusEvent.STATUS

Версия продукта: AIR 1.0

Указывает на изменение состояния службы.

Свойство code принимает значение Service.available или Service.unavailable, но лучше всего проверить значение свойства ServiceMonitor.available.

Задает значение свойства type для объекта события Status.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
codeОписание состояния объекта.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
levelКатегория сообщения, например "состояние", "предупреждение" или "ошибка".
targetОбъект, сообщающий свое состояние.