[入门]AIR网络与通信(1)——监视网络连接(转载)

Adobe® AIR® 提供了一种方法,可以检查安装 AIR 应用程序的计算机的网络连接是否发生更改。如果应用程序使用的数据是从网络获取的,则此信息非常有用。而且,应用程序可以检查网络服务的可用性。

检测网络连接更改

AIR 应用程序可以在具有不确定且不断更改的网络连接的环境中运行。为了有助于应用程序管理到在线资源的连接,每当网络连接变为可用或不可用时 Adobe AIR 都会发送一个网络更改事件。应用程序的 NativeApplication 对象会调度该网络更改事件。为了响应该事件,可添加一个侦听器:

NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange); 

并定义一个事件处理函数:

function onNetworkChange(event:Event) 
{ 
    //Check resource availability 
} 

Event.NETWORK_CHANGE 事件不是指示所有网络活动的更改,而是仅指示网络连接已更改。AIR 不尝试解释网络更改的含义。联网的计算机可能有许多真实和虚拟的连接,因此失去某个连接并不一定意味着失去了资源。而另一方面,新建连接也无法保证改善资源的可用性。有时,新建连接甚至可能阻止对之前可用资源的访问(例如,连接到 VPN 时)。

通常,应用程序确定其是否可连接到远程资源的唯一方法是,尝试连接该远程资源。为此,air.net 包中的服务监视框架为 AIR 应用程序提供了一个基于事件的方法,该方法可响应到指定主机的网络连接的更改。

注: 服务监视框架检测服务器是否对请求进行接受响应。这不保证完全连接。通常,可扩展的 Web 服务使用缓存和负载平衡设备将流量重定向到 Web 服务器群集。在这种情况下,服务提供商仅提供对网络连接的局部诊断。

服务监视基础知识

服务监视器框架独立于 AIR 框架并位于 servicemonitor.swc 文件中。为了使用该框架,servicemonitor.swc 文件必须包含在构建过程中。

重要说明: 若要在 Adobe® Flash® S3 Professional 中使用这些类,请将 ServiceMonitorShim 组件从“组件”面板拖到“库”中,然后将下面的 import 语句添加到 ActionScript 3.0 代码中:
import air.net.*;

在 Adobe® Flash® CS4 Professional 中使用这些类:

  1. 选择“文件”>“发布设置”命令。

  2. 单击 ActionScript 3.0 的“设置”按钮。选择“库路径”。

  3. 单击“浏览到 SWC”按钮,从而浏览到 Adobe Flash CS4/AIK1.1/frameworks/libs/air/servicemoniter.swc。

  4. 单击“确定”按钮。

  5. 将下面的 import 语句添加到 ActionScript 3.0 代码中:
    import air.net.*;

ServiceMonitor 类实现用于监视网络服务的框架并为服务监视器提供基本功能。默认情况下,ServiceMonitor 类的实例会调度有关网络连接的事件。在创建该实例后以及每当 Adobe AIR 检测到网络更改时,ServiceMonitor 对象会调度这些事件。此外,可以设置 ServiceMonitor 实例的 pollInterval 属性进而以指定的间隔(以毫秒为单位)检查连接,而不考虑一般的网络连接事件。直到调用 start() 方法时,ServiceMonitor 对象才检查网络连接。

URLMonitor 类(ServiceMonitor 类的子类)可检测针对指定的 URLRequest 的 HTTP 连接的更改。

SocketMonitor 类(也是 ServiceMonitor 类的子类)可在指定的端口检测到指定主机的连接的更改。

检测 HTTP 连接

URLMonitor 类确定是否可从端口 80(HTTP 通信的标准端口)向指定地址发送 HTTP 请求。以下代码使用 URLMonitor 类的实例来检测到 Adobe 网站的连接更改:

import air.net.URLMonitor; 
import flash.net.URLRequest; 
import flash.events.StatusEvent; 
var monitor:URLMonitor; 
monitor = new URLMonitor(new URLRequest('http://www.adobe.com')); 
monitor.addEventListener(StatusEvent.STATUS, announceStatus); 
monitor.start(); 
function announceStatus(e:StatusEvent):void { 
    trace("Status change. Current status: " + monitor.available); 
}

检测套接字连接

AIR 应用程序也可将套接字连接用于推模式连接。防火墙和网络路由器通常会因某些安全原因而对未授权端口上的网络通信进行限制。因此,开发人员必须考虑用户可能不具有建立套接字连接能力。

类似于 URLMonitor 示例,以下代码使用 SocketMonitor 类的实例在 6667(IRC 的常用端口)处检测套接字连接的连接更改:

import air.net.ServiceMonitor; 
import flash.events.StatusEvent; 
 
socketMonitor = new SocketMonitor('www.adobe.com',6667); 
socketMonitor.addEventListener(StatusEvent.STATUS, socketStatusChange); 
socketMonitor.start(); 
 
function announceStatus(e:StatusEvent):void { 
    trace("Status change. Current status: " + socketMonitor.available); 
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的影城管理系统,源码+数据库+论文答辩+毕业论文+视频演示 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多生活之中,随之就产生了“小徐影城管理系统”,这样就让小徐影城管理系统更加方便简单。 对于本小徐影城管理系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据小徐影城管理系统的现状来进行开发的,具体根据现实的需求来实现小徐影城管理系统网络化的管理,各类信息有序地进行存储,进入小徐影城管理系统页面之后,方可开始操作主控界面,主要功能包括管理员:首页、个人中心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订单管理,用户前台;首页、电影信息、电影资讯、个人中心、后台管理、在线客服等功能。 本论文主要讲述了小徐影城管理系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的小徐影城管理系统状况,提高管理效率。 关键词:小徐影城管理系统;Spring Boot框架,MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值