A-A+

flex+fms ShareObject制作简单聊天室

2015年09月17日 前端设计 暂无评论 阅读 14 views 次

flex 是一个免费开源的框架,它与 flash 不同的是,flash 是基于桌面美术的创作工具,而 flex 则可以看成类似于 PHP 的开发工具,跟 flash 则是可以很好的结合使用,flex 和 flash 主要都是以 ActionScript 作为其核心的编程语言,这里就不多介绍了,

FMS是一组软件工具,用以对显示终端进入输入输出格式的应用程序,我们来看一下使用 flex+fms ShareObject 如何制作一款简单的在线聊天室。代码如下:

flex代码:

  1. <?xml version="1.0" encoding="utf-8"?>     
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgro  
  3. undColor="white" layout="vertical" initialize="BasicPracticeSO();">     
  4.  <mx:Script>     
  5.   <![CDATA[    
  6.    private var nc:NetConnection;    
  7.    private var shareObject:SharedObject;    
  8.    private var monthDay:Date;    
  9.    private var isConnectSuccess:Boolean;    
  10.    private static const RTMP_URL:String="rtmp://localhost/chat"; 
  11.   
  12.   
  13.    private function BasicPracticeSO():void{    
  14.     nc=new NetConnection;    
  15.     nc.connect(RTMP_URL);    
  16.     nc.addEventListener(NetStatusEvent.NET_STATUS,operateShareObject); 
  17.    }    
  18.   
  19.    private function operateShareObject(evt:NetStatusEvent):void{    
  20.     isConnectSuccess=(evt.info.code=="NetConnection.Connect.Success"); 
  21.     if(isConnectSuccess){    
  22.      shareObject=SharedObject.getRemote("userInfo",nc.uri,false); 
  23.      monthDay=new Date();    
  24.      shareObject.connect(nc);    
  25.      shareObject.addEventListener(SyncEvent.SYNC,detectSO); 
  26.     }    
  27.    }    
  28.   
  29.    private function detectSO(e:SyncEvent):void{    
  30.     for(var chng:uint;chng<e.changeList.length;chng++){ 
  31.      switch(e.changeList[chng].code){    
  32.       case "change":    
  33.        updateAllClientMsg();    
  34.        break;    
  35.       case "clear":    
  36.        break;    
  37.       case "success":    
  38.        break;    
  39.       default:    
  40.        break;    
  41.      }    
  42.     }    
  43.    }    
  44.   
  45.    private function updateAllClientMsg():void{ 
  46.     soList.text+=shareObject.data.msg+"n";    
  47.    }    
  48.   
  49.   
  50.    private function addDataToShareObject():void{    
  51.     shareObject.setProperty("msg",msgText.text);    
  52.     soList.text+=msgText.text+"n";    
  53.     msgText.text="";    
  54.    }    
  55.   ]]>     
  56.  </mx:Script>     
  57.  <mx:Label text="ShareObject data:"/>     
  58.  <mx:TextArea id="soList" width="300" height="120">     
  59.    
  60.  </mx:TextArea>     
  61.  <mx:Form>     
  62.   <mx:FormHeading label="add data to ShareObject:"/>     
  63.   <mx:FormItem label="msg:">     
  64.    <mx:TextInput id="msgText"/>     
  65.   </mx:FormItem>     
  66.   <mx:FormItem>     
  67.    <mx:Button label="send Msg" click="addDataToShareObject();"/>  
  68.   </mx:FormItem>     
  69.  </mx:Form>     
  70. </mx:Application>  

FMS 代码:

  1. Client.prototype.echo = function(msg){  
  2.  trace("client.echo: " + msg);  
  3.  return msg;  
  4. }  
标签:

给我留言