Flash与后台数据交换方法整理1-URLLoader(URLStream)篇 |
| [来源:http://www.klstudio.com | 作者:klstudio | 时间:2008-08-31 | 点击: | 收藏本文 【大 中 小】] |
|
[AS3]Flash与后台数据交换方法整理1-URLLoader(URLStream)篇 PS. 随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法。 1.URLLoader(URLStream) 2.FlashRemoting 3.XMLSocket(Socket) 4.FMS/FCS
一、URLLoader(URLStream)篇 URLStream和URLLoader中URLLoaderDataFormat.BINARY类似,它提供对下载 URL 的低级访问方式,我在此不再重复了,有兴趣的,可以看Flash帮助中URLStream类。 Flash端
-
-
-
-
-
-
-
- package project.test {
-
-
- import flash.display.*;
- import flash.events.*;
- import flash.net.*;
-
- public class TestURLLoader extends Sprite {
- private var _loader:URLLoader;
- public function TestURLLoader() {
-
- _loader = new URLLoader();
-
- _loader.dataFormat = URLLoaderDataFormat.VARIABLES;
-
-
- configureListeners(_loader);
-
-
- var params:URLVariables = new URLVariables();
- params.username = "kinglong";
- params.password = "king";
-
-
- var request:URLRequest = new URLRequest("http://www.klstudio.com/none.jsp");
-
- request.data = params;
-
- request.method = URLRequestMethod.POST;
-
- try {
- loader.load(request);
- } catch (error:Error) {
- trace(error);
- }
-
-
- }
- private function configureListeners(dispatcher:IEventDispatcher):void {
-
- dispatcher.addEventListener(Event.COMPLETE, loaderHandler);
-
- dispatcher.addEventListener(Event.OPEN, loaderHandler);
-
- dispatcher.addEventListener(ProgressEvent.PROGRESS, loaderHandler);
-
- dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loaderHandler);
-
- dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, loaderHandler);
-
- dispatcher.addEventListener(IOErrorEvent.IO_ERROR, loaderHandler);
- }
-
- private function loaderHandler(event:*):void {
- switch(event.type) {
- case Event.COMPLETE:
- trace(_loader.data.result);
- break;
- case Event.OPEN:
- trace("open: " + event);
- break;
- case ProgressEvent.PROGRESS:
- trace("progress: " + event);
- break;
- case SecurityErrorEvent.SECURITY_ERROR:
- trace("securityError: " + event);
- break;
- case HTTPStatusEvent.HTTP_STATUS:
- trace("httpStatus: " + event);
- break;
- case IOErrorEvent.IO_ERROR:
- trace("ioError: " + event);
- break;
-
- }
- }
-
- }
- }
服务端(jsp)
- <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
- <%
- String username = request.getParameter("username");
- String password = request.getParameter("password");
- boolean result = false;
- //访问数据...;
- out.println("result="+result+"&_");
- %>
优点: 1、flash代码实现起来简单,方便。 2、服务端接收页面和接收一个表单过来的数据一样处理,不需要专门的技术,所有服务端程序都可以实现! 3、可以发送字符串变量,也可以发送文件流([AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存)。 4、可以结合AMF3接收更为丰富的数据类型([AS3]AMF3+JAVA的调用范例)。 缺点: 1、传递的变量不宜过多。 2、变量传递的值不宜过长。 注意: 如果接收数据类型设置成URLLoaderDataFormat.VARIABLES后,第一个字符不能以&开头,结尾部分建议以&_为结束比较好。 |
|
| 文章如果有错误或者缺少文件,请发邮件提交给我们 |
|
|
|
|
|
|
|
| >>> 最新评论:(共有 0 位网友发表了评论) 查看所有评论 |
|
|
| 发表评论 |
|
| ·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂 |
| ·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任 |
| ·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据 |
| ·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为 |
|
|
|
 |
教程分类 |
|
|
|
|
|
|