| Package | air.net | 
| Class | public dynamic class ServiceMonitor | 
| Inheritance | ServiceMonitor  EventDispatcher  Object | 
| Subclasses | SocketMonitor, URLMonitor | 
| Runtime Versions: | AIR 1.0 | 
This class is included in the aircore.swc file. Adobe® Flash™ Builder™ loads this class automatically when you create a project for Adobe® AIR™. Adobe® Flex™ SDK also includes this aircore.swc file, which you should include when compiling the application if you are using Flex SDK.
In Adobe® Flash® CS3 Professional,
 this class is included in the ServiceMonitorShim.swc file. To use classes in the air.net package , 
 you must first drag the ServiceMonitorShim component from the Components panel to the 
 Library and then add the following import statement to your ActionScript 3.0 code:
 
import air.net.*;
To use air.net package in Adobe® Flash® Professional (CS4 or higher):
- Select the File > Publish Settings command.
- In the Flash panel, click the Settings button for ActionScript 3.0. Select Library Path.
- Click the Browse to SWC File button. Browse to Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc file in the Adobe Flash Professional installation folder.
- Click the OK button.
- Add the following importstatement to your ActionScript 3.0 code:import air.net.*;
More examples
| Property | Defined By | ||
|---|---|---|---|
| available : Boolean 
     Whether the service is currently considered "available."
     
     The initial value is false until either a status check sets the
     property to true or the property is initialized to true explicitly.
     
     Typically, this property is set by the checkStatus() implementation in a subclass or specializer,
     but if the application has independent information about a service's availability (for example, a request just succeeded
     or failed), the property can be set explicitly.
     
      | ServiceMonitor | ||
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
| lastStatusUpdate : Date [read-only] 
     The time of the last status update. | ServiceMonitor | ||
| pollInterval : Number 
     The interval, in milliseconds, for polling the server. | ServiceMonitor | ||
| running : Boolean [read-only] 
     Whether the monitor has been started. | ServiceMonitor | ||
| Method | Defined By | ||
|---|---|---|---|
| 
     Creates a ServiceMonitor object. | ServiceMonitor | ||
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 
	Registers an event listener object with an EventDispatcher object so that the listener 
	receives notification of an event. | EventDispatcher | |
|  | 
	Dispatches an event into the event flow. | EventDispatcher | |
|  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event. | EventDispatcher | |
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
| [static] 
     Adds public ServiceMonitor methods to a JavaScript constructor function's prototype. | ServiceMonitor | ||
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
	Removes a listener from the EventDispatcher object. | EventDispatcher | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
| 
     Starts the service monitor. | ServiceMonitor | ||
| 
     Stops monitoring the service. | ServiceMonitor | ||
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
| [override] 
     
	 Returns the string representation of the specified object. | ServiceMonitor | ||
|  | 
	 Returns the primitive value of the specified object. | Object | |
|  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of 
	its ancestors for the specified event type. | EventDispatcher | |
| Method | Defined By | ||
|---|---|---|---|
| 
     Checks the status of the service. | ServiceMonitor | ||
| Event | Summary | Defined By | ||
|---|---|---|---|---|
|  | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | ||
|  | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
| Indicates that the service status has changed. | ServiceMonitor | |||
| available | property | 
available:Boolean| Runtime Versions: | AIR 1.0 | 
Whether the service is currently considered "available."
The initial value is false until either a status check sets the
     property to true or the property is initialized to true explicitly.
Typically, this property is set by the checkStatus() implementation in a subclass or specializer,
     but if the application has independent information about a service's availability (for example, a request just succeeded
     or failed), the property can be set explicitly.
Implementation
    public function get available():Boolean    public function set available(value:Boolean):void| lastStatusUpdate | property | 
| pollInterval | property | 
pollInterval:Number| Runtime Versions: | AIR 1.0 | 
The interval, in milliseconds, for polling the server.
If zero, the server is not polled periodically, but only immediately after start() is called
     and when the network status changes.
The ServiceMonitor object only dispatches a status event if service
     status has changed (not on every poll interval). The object also dispatches a status 
     event as a result of network connectivity changes (regardles of the poll interval).
 The default value is 0.
Implementation
    public function get pollInterval():Number    public function set pollInterval(value:Number):void| running | property | 
| ServiceMonitor | () | Constructor | 
public function ServiceMonitor()| Runtime Versions: | AIR 1.0 | 
Creates a ServiceMonitor object.
This class is typically subclassed to monitor specific service types.
After creating a ServiceMonitor object (or a subclass object), call the start() method
     to begin monitoring the status of the service.
As with the Timer object, the caller should maintain a reference to the ServiceMonitor object. Otherwise, the runtime deletes the object and monitoring ends.
| checkStatus | () | method | 
 protected function checkStatus():void| Runtime Versions: | AIR 1.0 | 
Checks the status of the service.
A subclass override method for checking the status of the service.
Typically, this method will initiate a network operation whose completion or failure will result in
     setting the available property.
JavaScript code can specialize this method by defining a checkStatus() method 
     in the "specializer" object.
| makeJavascriptSubclass | () | method | 
 public static function makeJavascriptSubclass(constructorFunction:Object):void| Runtime Versions: | AIR 1.0 | 
Adds public ServiceMonitor methods to a JavaScript constructor function's prototype.
Adds functions to the JavaScript constructor function's prototype that forward public ServiceMonitor functions to the ServiceMonitor object. This approximates a normal JavaScript subclass of the ActionScript base class.
A JavaScript class specializing a ServiceMonitor would look like this:
     // 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);
     }
     To use the JavaScript class:
     var httpMon = new MyHTTPMonitor('http://www.adobe.com')
     Be sure to load the AIRAliases.js and aircore.swf files with script tags.
Parameters
| constructorFunction:Object— The JavaScript object'sprototypeproperty. For example, if the JavaScript 
     object that you are using to serve as a specializer object is named MyHTTPMonitor, passMyHTTPMonitor.prototypeas the value for this parameter. | 
| start | () | method | 
| stop | () | method | 
| toString | () | method | 
override public function toString():String| Runtime Versions: | AIR 1.0 | 
Returns the string representation of the specified object.
Note: Methods of the Object class are dynamically created on Object's prototype. To redefine this method in a subclass of Object, do not use the override keyword. For example, a subclass of Object implements function toString():String instead of using an override of the base class.
| String— A string representation of the object. | 
| status | Event | 
flash.events.StatusEventproperty StatusEvent.type =
flash.events.StatusEvent.STATUS| Runtime Versions: | AIR 1.0 | 
Indicates that the service status has changed.
The value of the code property is either "Service.available" or "Service.unavailable", 
 but best practice is to check the value of the ServiceMonitor.available property.
type property of a status event object.
	 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| code | A description of the object's status. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| level | The category of the message, such as "status","warning"or"error". | 
| target | The object reporting its status. | 
Thu Dec 4 2014, 05:50 PM -08:00