您的位置:首页 > 理论基础 > 计算机网络

as3网络通信基础

2010-01-12 15:58 190 查看
19.1 ActionScript3网络通信的流程
1.构建通信请求对象(URLRequest)
2.使用通信请求对象,构建URLLoader对象,并发出数据请求
3.数据收到之后,发出完成事件,调用“读取完成“事件的侦听器处理返回的数据

标准的加载方法:
var URL路径:String = "URL地址";
var URLRequest对象:URLRequest = new URLRequest(URL路径);
var URLLoader对象:URLLoader = new URLLoader(URLRequest对象);
提交的数据放在URLRequest对象中,读取到的数据放在URLLoader对象中。

对于URL中的值对操作,要使用URLVariables类处理。
var 值串对象:URLVariables = new URLVariables("name=foo&age=28&sex=male");
var URLRequest对象:URLRequest = new URLRequest();
URLRequest对象.url = "动态网页URL";
URLRequest对象.method = URLRequestMethod.GET; //数据格式
URLRequest对象.data = 值串对象; //将URLVariables赋给data属性

XML数据:
var XML对象:XML = XML文本
var URLRequest对象:URLRequest = new URLRequest();
URLRequest对象.url = "动态网页URL";
URLRequest对象.contentType = "text/xml";
URLRequest对象.data = XML对象.toXMLString(); //将xml转成文本赋给data属性
URLRequest对象.method = URLRequestMethod.POST;

19.1.2 发出数据请求
发出数据请求,需要按照数据请求对象携带的信息,向指定地址发出请求,这部分由URLLoader对象来完成。
var URLLoader对象:URLLoader = new URLLoader(URLRequest对象); //定义后立刻发送数据

var URLLoader对象:URLLoader = new URLLoader();
URLLoader对象.load(URLRequest对象); //调用URLLoader对象的load后才发送数据

如果有数据返回,数据将放在URLLoader对象的data属性中,dataFormat属性则包含返回数据类型的值
dataFormat属性支持三个常量值:
文本型(URLLoaderDataFormat.TEXT)
二进制(URLLoaderDataFormat.BINARY)
值串对(URLLoaderDataFormat.VARIABLES)

URLLoader对象有6种事件,可以让我们侦听:
Event.OPEN 加载开始
ProgressEvent.PROGRESS 加载过程,包含下载字节数信息
Event.COMPLETE 加载完成
HTTPStatusEvent.HTTP_STATUS 加载完成或者失败之前,会发出HTTP状态事件
IOErrorEvent.IO_ERROR 加载失败
SecurityErrorEvent.SECURITY_ERROR 加载内容不合安全规则

19.1.3 侦听器函数
使用标准的DOM3事件侦听器函数即可,根据URLLoader对象的事件进行侦听。

19.3 getURL()的继承人:navigateToURL()
import flash.net.* //使用前要导入net包
navigateToURL(URLRequest对象:URLRequest[,window:String = null])
URLRequest对象 = 网址
window = 打开窗口的方法 _self _blank _parent _top

标准语法:
var URLRequest对象:URLRequest = new URLRequest(URL地址);
navigateToURL(URLRequest对象,"_blank");

或者

navigateToURL(new URLRequest(URL地址),"_blank");

19.4 提交数据的例子
单纯提供数据,可以用sendToURL(),但一般极少这样使用,而不返回数据。
public function sendToURL(request:URLRequest):void

19.5 简述安全模型
Security.sandboxType 返回当前运行所处沙箱信息
目前Flash支持4种沙箱类型
Security.REMOTE SWF文件来自网络,并遵守基于域的沙箱规则。
Security.LOCAL_WITH_FILE SWF文件来自本地,可以读取本地数据,但无法访问网络通信
Security.LOCAL_WITH_NETWORK SWF文件来自网络,可与网络通信,但不能读取本地数据
Security.LOCAL_TRUSTED SWF文件是本地文件,且已经受到用户信任,此时既可与本地文件通信,也可以与网络通信。

最后一种Security.LOCAL_TRUSTED权限最高,是在Flash IDE环境下测试是所拥有的权限。

19.5.2 跨域文件:crossdomain.xml
一个放置于网站根目录的文件,用于允许被访问的域。
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
<!-- *号定义全域允许 -->
<allow-domain-from domain="*.baidu.com" />
<!--只允许百度的域名访问资源-->
</cross-domain-policy>

更多设置技巧:
http://livedocs.adobe.com/flash/9.0_cn/main/00000349.html

19.5.3
可临时在swf内部设置允许访问的域
Security.allowDomain() 授权访问域
Security.allowDomain(URL域)
Security.allowDomain("*")
Security.allowDomain("*.baidu.com")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: