패키지 | air.net |
클래스 | public dynamic class ServiceMonitor |
상속 | ServiceMonitor EventDispatcher Object |
하위 클래스 | SocketMonitor, URLMonitor |
런타임 버전: | AIR 1.0 |
이 클래스는 aircore.swc 파일에 포함되어 있습니다. Adobe® Flash™ Builder™에서는 Adobe® AIR™ 프로젝트를 만들 때 이 클래스를 자동으로 로드합니다. 또한 Adobe® Flex™ SDK에는 Flex SDK를 사용하는 경우 응용 프로그램을 컴파일할 때 포함시켜야 하는 aircore.swc 파일이 포함되어 있습니다.
Adobe ® Flash ® CS3 Professional에서 이 클래스는 ServiceMonitorShim.swc 파일에 포함되어 있습니다. air.net 패키지에서 클래스를 사용하려면 먼저 ServiceMonitorShim 구성 요소를 구성 요소 패널에서 라이브러리로 드래그한 후 다음 import
문을 ActionScript 3.0 코드에 추가합니다.
import air.net.*;
Adobe® Flash® Professional(CS4 이상)에서 air.net 패키지를 사용하려면
- [파일] > [제작 설정] 명령을 선택합니다.
- Flash 패널에서 ActionScript 3.0의 [설정] 버튼을 클릭합니다. [라이브러리 경로]를 선택합니다.
- [SWC 파일 찾아보기] 버튼을 클릭합니다. Adobe Flash Professional 설치 폴더에서 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 파일을 찾아봅니다.
- [확인] 버튼을 클릭합니다.
- ActionScript 3.0 코드에 다음
import
문을 추가합니다.import air.net.*;
속성 | 정의 주체 | ||
---|---|---|---|
available : Boolean
서비스의 현재 "사용 가능" 여부입니다. 초기 값은 상태 확인이 속성을 true로 설정하거나 속성이 명시적으로 true로 초기화될 때까지 false입니다. 일반적으로 하위 클래스 또는 특수 클래스에서 checkStatus()를 구현하여 이 속성을 설정하지만 응용 프로그램에 서비스 가용성에 대한 별도의 정보(예: 요청 성공 또는 실패)가 있을 경우 속성을 명시적으로 설정할 수 있습니다.
| ServiceMonitor | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
lastStatusUpdate : Date [읽기 전용]
상태를 마지막으로 업데이트한 시간입니다. | ServiceMonitor | ||
pollInterval : Number
서버 폴링 간격(밀리초)입니다. | ServiceMonitor | ||
running : Boolean [읽기 전용]
모니터링 시작 여부입니다. | ServiceMonitor |
메서드 | 정의 주체 | ||
---|---|---|---|
ServiceMonitor 객체를 만듭니다. | ServiceMonitor | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
[정적]
공용 ServiceMonitor 메서드를 JavaScript 생성자 함수의 프로토타입에 추가합니다. | ServiceMonitor | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
서비스 모니터를 시작합니다. | ServiceMonitor | ||
서비스 모니터링을 중단합니다. | ServiceMonitor | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
[재정의]
지정된 객체의 문자열 표현을 반환합니다. | ServiceMonitor | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
메서드 | 정의 주체 | ||
---|---|---|---|
서비스의 상태를 확인합니다. | ServiceMonitor |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
서비스 상태가 변경되었음을 나타냅니다. | ServiceMonitor |
available | 속성 |
available:Boolean
런타임 버전: | AIR 1.0 |
서비스의 현재 "사용 가능" 여부입니다.
초기 값은 상태 확인이 속성을 true
로 설정하거나 속성이 명시적으로 true
로 초기화될 때까지 false
입니다.
일반적으로 하위 클래스 또는 특수 클래스에서 checkStatus()
를 구현하여 이 속성을 설정하지만 응용 프로그램에 서비스 가용성에 대한 별도의 정보(예: 요청 성공 또는 실패)가 있을 경우 속성을 명시적으로 설정할 수 있습니다.
구현
public function get available():Boolean
public function set available(value:Boolean):void
lastStatusUpdate | 속성 |
pollInterval | 속성 |
pollInterval:Number
런타임 버전: | AIR 1.0 |
서버 폴링 간격(밀리초)입니다.
0이면 서버는 주기적으로 폴링되지 않고 start()
가 호출되고 네트워크 상태가 변경된 후에만 즉시 폴링됩니다.
ServiceMonitor 객체는 모든 폴링 간격이 아닌 서비스 상태가 변경되었을 때만 status
이벤트를 전달합니다. 또한 객체는 폴링 간격과 상관 없이 네트워크 연결이 변경되었을 때 status
이벤트를 전달합니다.
기본값: 0.
구현
public function get pollInterval():Number
public function set pollInterval(value:Number):void
running | 속성 |
ServiceMonitor | () | 생성자 |
public function ServiceMonitor()
런타임 버전: | AIR 1.0 |
ServiceMonitor 객체를 만듭니다.
일반적으로 이 클래스는 특정 서비스 유형을 모니터링하기 위해 하위 클래스화됩니다.
ServiceMonitor 객체(또는 하위 클래스 객체)를 만든 다음 start()
메서드를 호출하여 서비스 상태에 대한 모니터링을 시작해야 합니다.
Timer 객체와 같이 호출자는 ServiceMonitor 객체에 대한 참조를 유지해야 합니다. 그렇지 않으면 런타임에 해당 객체가 삭제되어 모니터링이 종료됩니다.
checkStatus | () | 메서드 |
protected function checkStatus():void
런타임 버전: | AIR 1.0 |
서비스의 상태를 확인합니다.
하위 클래스는 서비스의 상태를 확인하는 메서드를 재정의합니다.
일반적으로 이 메서드는 완료 또는 실패로 인해 available
속성이 설정된 네트워크 작업을 시작합니다.
"specializer" 객체에 checkStatus()
메서드를 정의하여 이 메서드를 JavaScript 코드에 구체화할 수 있습니다.
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 및 aircore.swf 파일을 로드해야 합니다.
매개 변수
constructorFunction:Object — JavaScript 객체의 prototype 속성입니다. 예를 들어 specializer 객체로 사용하기 위해 사용하는 JavaScript 객체의 이름이 MyHTTPMonitor로 지정되면 MyHTTPMonitor.prototype 을 이 매개 변수의 값으로 전달합니다.
|
start | () | 메서드 |
stop | () | 메서드 |
toString | () | 메서드 |
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 | 상태를 보고하는 객체입니다. |
Tue Jun 12 2018, 03:17 PM Z