(AIR만 해당)
패키지air.net
클래스public dynamic class ServiceMonitor
상속ServiceMonitor Inheritance EventDispatcher Inheritance Object
하위 클래스 SocketMonitor, URLMonitor

런타임 버전: AIR 1.0

ServiceMonitor 클래스는 네트워크 서비스의 상태 및 가용성을 모니터링하기 위한 프레임워크를 구현합니다. ServiceMonitor 클래스는 모든 다른 서비스 모니터에 대한 기본 클래스 역할을 합니다.

Adobe ® Flash ® CS3 Professional에서 이 클래스는 ServiceMonitorShim.swc 파일에 포함되어 있습니다. air.net 패키지에서 클래스를 사용하려면 먼저 ServiceMonitorShim 구성 요소를 구성 요소 패널에서 라이브러리로 드래그한 후 다음 import 문을 ActionScript 3.0 코드에 추가합니다.

import air.net.*;

Adobe ® Flash ® CS4 Professional에서 air.net 패키지를 사용하려면:

  1. [파일] > [제작 설정] 명령을 선택합니다.
  2. Flash 패널에서 ActionScript 3.0의 [설정] 버튼을 클릭합니다. [라이브러리 경로]를 선택합니다.
  3. [SWC 파일 탐색] 버튼을 클릭합니다. Adobe Flash CS4 설치 폴더에서 Adobe Flash CS4/AIK1.1/frameworks/libs/air/servicemoniter.swc 파일을 찾아봅니다.
  4. [확인] 버튼을 클릭합니다.
  5. ActionScript 3.0 코드에 다음 import 문을 추가합니다. import air.net.*;



Public 속성
 속성다음에 의해 정의됨
  AIR-only available : Boolean
서비스의 현재 "사용 가능" 여부입니다. 초기 값은 상태 확인이 속성을 true로 설정하거나 속성이 명시적으로 true로 초기화될 때까지 false입니다. 일반적으로 하위 클래스 또는 특수 클래스에서 checkStatus()를 구현하여 이 속성을 설정하지만 응용 프로그램에 서비스 가용성에 대한 별도의 정보(예: 요청 성공 또는 실패)가 있을 경우 속성을 명시적으로 설정할 수 있습니다.
ServiceMonitor
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  AIR-only lastStatusUpdate : Date
[읽기 전용] 상태를 마지막으로 업데이트한 시간입니다.
ServiceMonitor
  AIR-only pollInterval : Number
서버 폴링 간격(밀리초)입니다.
ServiceMonitor
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  AIR-only running : Boolean
[읽기 전용] 모니터링 시작 여부입니다.
ServiceMonitor
Public 메서드
 메서드다음에 의해 정의됨
  
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
  
AIR-only 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
Protected 메서드
 메서드다음에 의해 정의됨
  
서비스의 상태를 확인합니다.
ServiceMonitor
이벤트
 이벤트 요약 다음에 의해 정의됨
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
  서비스 상태가 변경되었음을 나타냅니다.ServiceMonitor
속성 정보
AIR-only available속성
available:Boolean  [읽기/쓰기]

런타임 버전: AIR 1.0

서비스의 현재 "사용 가능" 여부입니다.

초기 값은 상태 확인이 속성을 true로 설정하거나 속성이 명시적으로 true로 초기화될 때까지 false입니다.

일반적으로 하위 클래스 또는 특수 클래스에서 checkStatus()를 구현하여 이 속성을 설정하지만 응용 프로그램에 서비스 가용성에 대한 별도의 정보(예: 요청 성공 또는 실패)가 있을 경우 속성을 명시적으로 설정할 수 있습니다.



구현
    public function get available():Boolean
    public function set available(value:Boolean):void
AIR-only lastStatusUpdate속성 
lastStatusUpdate:Date  [읽기 전용]

런타임 버전: AIR 1.0

상태를 마지막으로 업데이트한 시간입니다.



구현
    public function get lastStatusUpdate():Date
AIR-only pollInterval속성 
pollInterval:Number  [읽기/쓰기]

런타임 버전: AIR 1.0

서버 폴링 간격(밀리초)입니다.

0이면 서버는 주기적으로 폴링되지 않고 start()가 호출되고 네트워크 상태가 변경된 후에만 즉시 폴링됩니다.

ServiceMonitor 객체는 모든 폴링 간격이 아닌 서비스 상태가 변경되었을 때만 status 이벤트를 전달합니다. 또한 객체는 폴링 간격과 상관 없이 네트워크 연결이 변경되었을 때 status 이벤트를 전달합니다.

기본값은 0.



구현
    public function get pollInterval():Number
    public function set pollInterval(value:Number):void
AIR-only running속성 
running:Boolean  [읽기 전용]

런타임 버전: AIR 1.0

모니터링 시작 여부입니다.



구현
    public function get running():Boolean
생성자 정보
AIR-only ServiceMonitor()생성자
public function ServiceMonitor()

런타임 버전: AIR 1.0

ServiceMonitor 객체를 만듭니다.

일반적으로 이 클래스는 특정 서비스 유형을 모니터링하기 위해 하위 클래스화됩니다.

ServiceMonitor 객체(또는 하위 클래스 객체)를 만든 다음 start() 메서드를 호출하여 서비스 상태에 대한 모니터링을 시작해야 합니다.

Timer 객체와 같이 호출자는 ServiceMonitor 객체에 대한 참조를 유지해야 합니다. 그렇지 않으면 런타임에 해당 객체가 삭제되어 모니터링이 종료됩니다.

메서드 정보
AIR-only checkStatus()메서드
protected function checkStatus():void

런타임 버전: AIR 1.0

서비스의 상태를 확인합니다.

하위 클래스는 서비스의 상태를 확인하는 메서드를 재정의합니다.

일반적으로 이 메서드는 완료 또는 실패로 인해 available 속성이 설정된 네트워크 작업을 시작합니다.

"specializer" 객체에 checkStatus() 메서드를 정의하여 이 메서드를 JavaScript 코드에 구체화할 수 있습니다.

AIR-only makeJavascriptSubclass()메서드 
public static function makeJavascriptSubclass(constructorFunction:Object):void

런타임 버전: AIR 1.0

공용 ServiceMonitor 메서드를 JavaScript 생성자 함수의 프로토타입에 추가합니다.

공용 ServiceMonitor 함수를 ServiceMonitor 객체로 전달하는 JavaScript 생성자 함수의 프로토타입에 함수를 추가합니다. 이는 ActionScript 기본 클래스의 일반 JavaScript 하위 클래스와 유사합니다.

ServiceMonitor를 전용하는 JavaScript 클래스는 다음과 같습니다.

// 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')

script 태그를 사용하여 AIRAliases.js 및 ServiceMonitor.swf 파일을 로드해야 합니다.

매개 변수

constructorFunction:Object — JavaScript 객체의 prototype 속성입니다. 예를 들어 specializer 객체로 사용하기 위해 사용하는 JavaScript 객체의 이름이 MyHTTPMonitor로 지정되면 MyHTTPMonitor.prototype을 이 매개 변수의 값으로 전달합니다.

AIR-only start()메서드 
public function start():void

런타임 버전: AIR 1.0

서비스 모니터를 시작합니다.

AIR-only stop()메서드 
public function stop():void

런타임 버전: AIR 1.0

서비스 모니터링을 중단합니다.

AIR-only toString()메서드 
override public function toString():String

런타임 버전: AIR 1.0

지정된 객체의 문자열 표현을 반환합니다.

참고: Object 클래스의 메서드는 Object의 프로토타입에 동적으로 만들어집니다. Object의 하위 클래스에서 이 메서드를 다시 정의할 때 override 키워드를 사용하지 마십시오. 예를 들어 Object의 하위 클래스에서는 기본 클래스에 대한 재정의를 사용하는 대신 function toString():String을 구현합니다.

반환값
String — 객체의 문자열 표현입니다.
이벤트 정보
AIR-only status 이벤트
이벤트 객체 유형: flash.events.StatusEvent
속성 StatusEvent.type = flash.events.StatusEvent.STATUS

런타임 버전: AIR 1.0

서비스 상태가 변경되었음을 나타냅니다.

code 속성의 값은 "Service.available" 또는 "Service.unavailable"이지만 최선의 방법은 ServiceMonitor.available 속성의 값을 확인하는 것입니다.

status 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubbles false
cancelable false; 취소할 기본 비헤이비어가 없습니다.
code 객체의 상태에 대한 설명입니다.
currentTarget 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
level "status", "warning" 또는 "error" 등과 같은 메시지 범주입니다.
target 상태를 보고하는 객체입니다.