air.netURLMonitor URLMonitor 类监视基于 HTTP 或 HTTPS 的服务的可用性。air.net:ServiceMonitor URLMonitor 类监视基于 HTTP 或 HTTPS 的服务的可用性。

此类包含在 aircore.swc 文件中。创建 Adobe® AIR 项目时,Adobe® Flash Builder 将自动加载此类。Adobe® Flex SDK 也包含此 aircore.swc 文件,当您使用 Flex SDK 编译应用程序时应包含此文件。

在 Adobe ® Flash ® CS3 Professional 中,此类包含在 ServiceMonitorShim.swc 文件中。要使用 air.net 包中的类,必须先将 ServiceMonitorShim 组件从“组件”面板拖到“库”中,然后将以下 import 语句添加到 ActionScript 3.0 代码中:

import air.net.~~;

要在 Adobe ® Flash ® Professional(CS4 或更高版本)中使用 air.net 包:

  1. 选择“文件”>“发布设置”命令。
  2. 在 Flash 面板中,单击 ActionScript 3.0 对应的“设置”按钮。选择“库路径”。
  3. 单击“浏览到 SWC 文件”按钮。浏览到 Adobe Flash Professional 安装文件夹中的 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 文件。
  4. 单击“确定”按钮。
  5. 将下面的 import 语句添加到 ActionScript 3.0 代码中:import air.net.~~;
URLMonitor 为指定的基于 HTTP 或 HTTPS 的服务创建 URLMonitor 对象。urlRequestflash.net:URLRequest表示用于轮询服务器的探查请求的 URLRequest 对象。 acceptableStatusCodesArraynull一个数字状态代码数组,列出表示成功结果的代码。

如果不指定 acceptableStatusCodes 属性的值,则会将以下状态代码识别为成功响应:

  • 200(正常)
  • 202(可接受)
  • 204(无内容)
  • 205(重置内容)
  • 206(部分内容,响应带有 Range 标头的请求)
为指定的基于 HTTP 或 HTTPS 的服务创建 URLMonitor 对象。

在创建 URLMonitor 后,调用方应调用 start() 方法以开始监视服务的状态。

与 Timer 对象一样,调用方应保持对 URLMonitor 对象的引用。否则,运行时会删除该对象,从而结束监视。

URLRequest 参数指定用于轮询服务器的探查请求。通常,请求方法是 "GET""HEAD"

checkStatus 尝试在后台从 URL 加载内容,以检查返回的 HTTP 状态代码。 尝试在后台从 URL 加载内容,以检查返回的 HTTP 状态代码。

如果接收到 acceptableStatusCodes 属性中列出的状态代码,则会将 available 属性设置为 true。如果接收到 acceptableStatusCodes 列表中以外的状态代码,或如果出现安全错误或 I/O 错误,则会将 available 属性设置为 false

toString 返回指定对象的字符串表示形式。对象的字符串表示形式。 String 返回指定对象的字符串表示形式。

注意:Object 类的方法是在 Object 的原型上动态创建的。要在 Object 的子类中重新定义该方法,请不要使用 override 关键字。例如,Object 的一个子类实现 function toString():String 而不使用基类覆盖。

acceptableStatusCodes 表示成功结果的数值状态代码。Array 表示成功结果的数值状态代码。 urlRequest 表示探查请求的 URLRequest 对象。flash.net:URLRequest 表示探查请求的 URLRequest 对象。
ServiceMonitor ServiceMonitor 类实现用于监视网络服务的状态和可用性的框架。flash.events:EventDispatcher ServiceMonitor 类实现用于监视网络服务的状态和可用性的框架。ServiceMonitor 类作为所有其他服务监视器的基类。

此类包含在 aircore.swc 文件中。创建 Adobe® AIR™ 项目时,Adobe® Flash™ Builder™ 将自动加载此类。Adobe® Flex™ SDK 也包含此 aircore.swc 文件,当您使用 Flex SDK 编译应用程序时应包含此文件。

在 Adobe ® Flash ® CS3 Professional 中,此类包含在 ServiceMonitorShim.swc 文件中。要使用 air.net 包中的类,必须先将 ServiceMonitorShim 组件从“组件”面板拖到“库”中,然后将以下 import 语句添加到 ActionScript 3.0 代码中:

import air.net.~~;

要在 Adobe ® Flash ® Professional(CS4 或更高版本)中使用 air.net 包:

  1. 选择“文件”>“发布设置”命令。
  2. 在 Flash 面板中,单击 ActionScript 3.0 对应的“设置”按钮。选择“库路径”。
  3. 单击“浏览到 SWC 文件”按钮。浏览到 Adobe Flash Professional 安装文件夹中的 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 文件。
  4. 单击“确定”按钮。
  5. 将下面的 import 语句添加到 ActionScript 3.0 代码中:import air.net.~~;
status 表示服务状态已更改。flash.events.StatusEvent.STATUSflash.events.StatusEvent 表示服务状态已更改。

code 属性的值为 "Service.available""Service.unavailable",但最佳做法是检查 ServiceMonitor.available 属性的值。

ServiceMonitor 创建 ServiceMonitor 对象。 创建 ServiceMonitor 对象。

通常会从此类派生子类以监视特定的服务类型。

在创建 ServiceMonitor 对象(或子类对象)后,调用 start() 方法可开始监视服务的状态。

与 Timer 对象一样,调用方应保持对 ServiceMonitor 对象的引用。否则,运行时会删除该对象并结束监视。

checkStatus 检查服务状态。 检查服务状态。

用于检查服务状态的子类覆盖方法。

通常,此方法将启动网络操作,该操作的完成或失败将导致设置 available 属性。

通过在“专用函数”对象中定义 checkStatus() 方法,JavaScript 代码可以专用此方法。

makeJavascriptSubclass 将公共 ServiceMonitor 方法添加到 JavaScript 构造函数的原型中。constructorFunctionObjectJavaScript 对象的 prototype 属性。例如,如果要用作专用函数对象的 JavaScript 对象名为 MyHTTPMonitor,请传递 MyHTTPMonitor.prototype 作为此参数的值。 将公共 ServiceMonitor 方法添加到 JavaScript 构造函数的原型中。

将函数添加到 JavaScript 构造函数的原型,以将公共 ServiceMonitor 函数进一步应用到 ServiceMonitor 对象。此类近似于 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 文件。

start 启动服务监视器。 启动服务监视器。 stop 停止监视服务。 停止监视服务。 toString 返回指定对象的字符串表示形式。对象的字符串表示形式。 String 返回指定对象的字符串表示形式。

注意:Object 类的方法是在 Object 的原型上动态创建的。要在 Object 的子类中重新定义该方法,请不要使用 override 关键字。例如,Object 的一个子类实现 function toString():String 而不使用基类覆盖。

available 当前是否将服务视为“可用”。初始值为 false,直至状态检查将该属性设置为 true,或者该属性被显式初始化为 true。通常,此属性是由子类或专用函数中的 checkStatus() 实现设置的,但是,如果应用程序具有与服务可用性有关的独立信息(例如,请求刚刚成功或失败),则可以显式设置该属性。 Boolean 当前是否将服务视为“可用”。

初始值为 false,直至状态检查将该属性设置为 true,或者显式将该属性初始化为 true

通常,此属性是由子类或专用函数中的 checkStatus() 实现设置的,但是,如果应用程序具有与服务可用性有关的独立信息(例如,请求刚刚成功或失败),则可以显式设置该属性。

lastStatusUpdate 上次更新状态的时间。Date 上次更新状态的时间。 pollInterval 服务器的轮询间隔(以毫秒为单位)。Number0 服务器的轮询间隔(以毫秒为单位)。

如果为零,则不定期轮询服务器,而仅在调用 start() 后和网络状态发生更改时立即轮询。

如果服务状态已更改(不是在每次轮询间隔时),则 ServiceMonitor 对象只调度 status 事件。如果网络连接发生更改(不管轮询间隔如何),该对象也会调度 status 事件。

running 是否已启动监视器。Boolean 是否已启动监视器。
SecureSocketMonitor SecureSocketMonitor 对象将通过安全套接字层 (SSL) 和传输层安全 (TLS) 协议监视 TCP 端点的可用性。air.net:SocketMonitor SecureSocketMonitor 对象将通过安全套接字层 (SSL) 和传输层安全 (TLS) 协议监视 TCP 端点的可用性。

此类包含在 aircore.swc 文件中。创建 AIR 项目时,Flash Builder 将自动加载此类。Flex SDK 也包含此 aircore.swc 文件,当您使用 Flex SDK 编译应用程序时应包含此文件。

在 Adobe ® Flash ® CS3 Professional 中,此类包含在 ServiceMonitorShim.swc 文件中。要使用 air.net 包中的类,必须先将 ServiceMonitorShim 组件从“组件”面板拖到“库”中,然后将以下 import 语句添加到 ActionScript 3.0 代码中:

import air.net.~~;

要在 Adobe ® Flash ® Professional(CS4 或更高版本)中使用 air.net 包:

  1. 选择“文件”>“发布设置”命令。
  2. 在 Flash 面板中,单击 ActionScript 3.0 对应的“设置”按钮。选择“库路径”。
  3. 单击“浏览到 SWC 文件”按钮。浏览到 Adobe Flash Professional 安装文件夹中的 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 文件。
  4. 单击“确定”按钮。
  5. 将下面的 import 语句添加到 ActionScript 3.0 代码中:import air.net.~~;
SecureSocketMonitor 为指定的 TCP 端点创建 SecureSocketMonitor 对象。hostString要监视的主机。 portint要监视的端口。 为指定的 TCP 端点创建 SecureSocketMonitor 对象。

在创建 SecureSocketMonitor 对象后,调用方应调用 start 以开始监视服务的状态。

与 Timer 对象一样,调用方应保持对 SecureSocketMonitor 对象的引用。否则,运行时会删除该对象并结束监视。

createSocket 创建一个 SecureSocket 对象。SecureSocket 此 SocketMonitor 使用的 SecureSocket 对象,如果当前系统不支持安全套接字,则它为 nullflash.net:Socket 创建一个 SecureSocket 对象。 toString 返回指定对象的字符串表示形式。对象的字符串表示形式。 String 返回指定对象的字符串表示形式。

注意:Object 类的方法是在 Object 的原型上动态创建的。要在 Object 的子类中重新定义该方法,请不要使用 override 关键字。例如,Object 的一个子类实现 function toString():String 而不使用基类覆盖。

SocketMonitor SocketMonitor 对象监视 TCP 端点的可用性。air.net:ServiceMonitor SocketMonitor 对象监视 TCP 端点的可用性。

此类包含在 aircore.swc 文件中。创建 AIR 项目时,Flash Builder 将自动加载此类。Flex SDK 也包含此 aircore.swc 文件,当您使用 Flex SDK 编译应用程序时应包含此文件。

在 Adobe ® Flash ® CS3 Professional 中,此类包含在 ServiceMonitorShim.swc 文件中。要使用 air.net 包中的类,必须先将 ServiceMonitorShim 组件从“组件”面板拖到“库”中,然后将以下 import 语句添加到 ActionScript 3.0 代码中:

import air.net.~~;

要在 Adobe ® Flash ® Professional(CS4 或更高版本)中使用 air.net 包:

  1. 选择“文件”>“发布设置”命令。
  2. 在 Flash 面板中,单击 ActionScript 3.0 对应的“设置”按钮。选择“库路径”。
  3. 单击“浏览到 SWC 文件”按钮。浏览到 Adobe Flash Professional 安装文件夹中的 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 文件。
  4. 单击“确定”按钮。
  5. 将下面的 import 语句添加到 ActionScript 3.0 代码中:import air.net.~~;
SocketMonitor 为指定的 TCP 端点创建 SocketMonitor 对象。hostString要监视的主机。 portint要监视的端口。 为指定的 TCP 端点创建 SocketMonitor 对象。

在创建 SocketMonitor 对象后,调用方应调用 start 以开始监视服务的状态。

与 Timer 对象一样,调用方应保持对 SocketMonitor 对象的引用。否则,运行时会删除该对象并结束监视。

checkStatus 调用 SocketMonitor 对象的 checkStatus() 方法会导致应用程序尝试连接到套接字以检查 connect 事件。 调用 SocketMonitor 对象的 checkStatus() 方法会导致应用程序尝试连接到套接字以检查 connect 事件。 createSocket 创建一个 Socket 对象。此 SocketMonitor 使用的 Socket 对象。 flash.net:Socket 创建一个 Socket 对象。 toString 返回指定对象的字符串表示形式。对象的字符串表示形式。 String 返回指定对象的字符串表示形式。

注意:Object 类的方法是在 Object 的原型上动态创建的。要在 Object 的子类中重新定义该方法,请不要使用 override 关键字。例如,Object 的一个子类实现 function toString():String 而不使用基类覆盖。

host 所监视的主机。String 所监视的主机。 port 所监视的端口。int 所监视的端口。