四个flash和后台通讯的方法

网上找到几篇文章,是flash和后台数据交换的几种方式,个人看重xml socket

 

转自kinglong

 

[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端

  1. /**  
  2. * @author Kinglong  
  3. * @link http://www.klstudio.com  
  4. * @mail kinglong@gmail.com  
  5. * @version 0.1  
  6. */  
  7.   
  8. package project.test {   
  9.   
  10.        
  11.     import flash.display.*;   
  12.     import flash.events.*;   
  13.     import flash.net.*;    
  14.   
  15.     public class TestURLLoader extends Sprite {   
  16.         private var _loader:URLLoader;   
  17.         public function TestURLLoader() {   
  18.             //创建URLLoader对象;   
  19.             _loader = new URLLoader();   
  20.             //设置接收数据方式(文本、原始二进制数据、URL 编码变量);   
  21.             _loader.dataFormat = URLLoaderDataFormat.VARIABLES;   
  22.                
  23.             //设置事件侦听器   
  24.             configureListeners(_loader);   
  25.                
  26.             //设置传递参数;   
  27.             var params:URLVariables = new URLVariables();   
  28.             params.username = "kinglong";   
  29.             params.password = "king";   
  30.                
  31.             //建立Request访问对象;   
  32.             var request:URLRequest = new URLRequest("http://www.klstudio.com/none.jsp");   
  33.             //设置参数;   
  34.             request.data = params;             
  35.             //设置访问模式(POST,GET);   
  36.             request.method = URLRequestMethod.POST;            
  37.                
  38.             try {   
  39.                 loader.load(request);   
  40.             } catch (error:Error) {   
  41.                 trace(error);   
  42.             }   
  43.   
  44.                
  45.         }   
  46.         private function configureListeners(dispatcher:IEventDispatcher):void {   
  47.             //加载完成事件;   
  48.             dispatcher.addEventListener(Event.COMPLETE, loaderHandler);   
  49.             //开始访问事件;   
  50.             dispatcher.addEventListener(Event.OPEN, loaderHandler);   
  51.             //加载进度事件;   
  52.             dispatcher.addEventListener(ProgressEvent.PROGRESS, loaderHandler);   
  53.             //跨域访问安全策略事件;   
  54.             dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loaderHandler);   
  55.             //Http状态事件;   
  56.             dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, loaderHandler);   
  57.             //访问出错事件;   
  58.             dispatcher.addEventListener(IOErrorEvent.IO_ERROR, loaderHandler);   
  59.         }   
  60.            
  61.         private function loaderHandler(event:*):void {   
  62.             switch(event.type) {   
  63.                 case Event.COMPLETE:   
  64.                     trace(_loader.data.result);   
  65.                     break;   
  66.                 case Event.OPEN:   
  67.                     trace("open: " + event);   
  68.                     break;   
  69.                 case ProgressEvent.PROGRESS:   
  70.                     trace("progress: " + event);   
  71.                     break;   
  72.                 case SecurityErrorEvent.SECURITY_ERROR:   
  73.                     trace("securityError: " + event);   
  74.                     break;   
  75.                 case HTTPStatusEvent.HTTP_STATUS:   
  76.                     trace("httpStatus: " + event);   
  77.                     break;   
  78.                 case IOErrorEvent.IO_ERROR:   
  79.                     trace("ioError: " + event);   
  80.                     break;   
  81.                    
  82.             }   
  83.         }         
  84.   
  85.     }      
  86. }   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值