`
zhaoyu2288
  • 浏览: 39408 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AS3中XMLSocket的应用

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="white">
	<mx:Script>
		<![CDATA[
			import com.adobe.serialization.json.JSON;
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			//绑定下拉框的数据源
			[Bindable]  
			private var select:Array=[{label:"请选择...",value:'-1'},
						{label:"客户端1",value:'z111'},
						{label:"客户端2",value:'z222'},
						{label:"客户端3",value:'z333'}];
			//绑定表格组件的数据源
			[Bindable]
			private var list:ArrayCollection = new ArrayCollection();
			//socket连接对象
			private var xmlSocket:XMLSocket;			
			internal function createXMLSocket():void{
				xmlSocket = new XMLSocket(); 
				xmlSocket.connect("192.168.1.101",58686);
				//连接处理函数
				xmlSocket.addEventListener(Event.CONNECT,connectionFun);
				//关闭处理函数
				xmlSocket.addEventListener(Event.CLOSE,closeFun);
				//接受数据处理函数
				xmlSocket.addEventListener(DataEvent.DATA,receiveMsg);
			}
			
			internal  function connectionFun(event:Event):void{	
				//如果已经连接	
				if(xmlSocket.connected){
					text.text="已经成功连接到服务器";
				}else{
					text.text="连接失败";
				}		
			}
			
			internal  function closeFun(event:Event):void{
				text.text="已经断开服务器";
				btn.label = "连接";
			}
			
			internal function receiveMsg(event:DataEvent):void{
				//服务器发送过来的数据
				var strJSON:String = event.data;
				//通过JSON转为对象
				var jo:Object = JSON.decode(strJSON);
				//加入到集合中
				list.addItem(jo);
				//刷新集合 已更新 gird中的显示数据
				list.refresh();
			}
		
			internal function changeSocket():void{
				if(btn.label == "连接"){
					if(cbb.selectedItem.value == "-1"){
						Alert.show("请选择客户端");
						return;
					}
					createXMLSocket();
					btn.label = "断开";
				}else{
					xmlSocket.close();
					btn.label = "连接";
					text.text="";
				}
			}
		]]>
	</mx:Script>
	<mx:VBox width="100%" height="100%" fontSize="14">
		//下拉框组件
		<mx:ComboBox id="cbb" dataProvider="{select}" labelField="label"></mx:ComboBox>
		<mx:Button label="连接" id="btn" click="changeSocket()"/>
		<mx:Label text="" id="text" width="100%"/>
		//表格组件
		<mx:DataGrid dataProvider="{list}" width="90%">
			<mx:columns>
				<mx:DataGridColumn headerText="客户姓名" dataField="customer"/>
				<mx:DataGridColumn headerText="发货地址" dataField="address"/>
				<mx:DataGridColumn headerText="下单时间" dataField="date"/>
			</mx:columns>
		</mx:DataGrid>
	</mx:VBox>

</mx:Application>

分享到:
评论

相关推荐

    FLASH AS3 SOCKET收发16进制示例

    在AS3中,我们可以使用Socket类来实现这一功能。本示例主要探讨如何在Flash AS3中使用Socket类来发送和接收16进制数据。 首先,让我们理解16进制。16进制(Hexadecimal)是一种逢16进1的进位制,主要用于表示计算机...

    flash AS3 中文帮助文档

    AS3中的核心类,如Date、Math、Array、String,是进行数据处理和逻辑运算的重要工具。文档将深入讲解这些类的使用方法和常见函数。此外,网络编程也是AS3的一大特色,XMLSocket和URLLoader类提供了网络通信的功能,...

    Flash AS3 中文帮助文档

    1. **基础类型**:AS3中有基本的数据类型,如Number(包括整数和浮点数)、String、Boolean、null和undefined,以及Object和Array。其中,Number类型比AS2更加严格,不再自动转换数字字符串。 2. **面向对象编程**...

    as3中文手册chm版

    10. **网络通信**:AS3.0支持XMLSocket、URLLoader和XML等类进行网络通信,可以实现HTTP、FTP等协议的数据交换,常用于与服务器交互或加载外部资源。 11. **本地存储**:使用SharedObject类可以实现客户端的数据...

    全AIR 的 Socket通信(air服务端、air客户端)

    在AIR中,我们可以使用AS3的Socket类来创建和管理Socket连接。这个类提供了打开、读取、写入和关闭Socket连接的方法。 在建立AIR服务端时,我们需要创建一个监听特定端口的Socket服务器。首先,实例化一个Socket...

    AS3中文版帮助文档

    4. **函数与方法**:AS3中的函数是可重用的代码块,而方法是对象的一部分。文档将详细介绍它们的定义、参数、返回值以及作用域。 5. **显示列表和图形绘制**:AS3允许开发者通过DisplayObject类及其子类(如Sprite...

    as3殿堂之路 源码 全集

    通过学习《AS3殿堂之路》的源码全集,开发者不仅可以掌握AS3的基本语法和编程技巧,还能了解如何将这些知识应用到实际项目中,从而提升开发效率和产品质量。无论是初学者还是经验丰富的开发者,这套源码都是不可多得...

    as3帮助文档

    3. **事件驱动编程** - AS3中的事件模型是其核心特性之一,允许程序响应用户输入或其他外部事件。事件监听器和事件对象的使用是理解AS3程序工作方式的关键。 4. **动作脚本组件** - AS3引入了一系列预定义的UI组件...

    AS3 CookBook 教程实例

    3. **事件处理**:AS3中的事件模型是其强大之处,通过addEventListener和dispatchEvent等方法可以实现丰富的用户交互。学会如何正确处理和响应事件是制作动态UI和游戏的重要技能。 4. **显示对象和舞台**:AS3中的...

    纯as3链接本地数据库

    在AS3中,我们通常使用XMLSocket类或者URLLoader类来与服务器进行通信。由于MySQL是基于TCP/IP协议的,我们可以利用XMLSocket来建立与服务器的实时连接,执行SQL命令并接收响应。首先,我们需要知道MySQL服务器的...

    AS3殿堂之路完整版非扫描高清适合as初学者

    2. **事件驱动编程**:AS3中的事件模型是其核心特性之一,它允许程序响应用户操作或系统状态变化。事件监听器、事件对象和事件处理函数是理解和应用这一模型的关键。 3. **显示列表**:在Flash中,所有的可视元素都...

    as3基础模块

    AS3中的类是对象的蓝图,用于定义属性和方法。通过关键字`class`声明一个类,如`class MyClass { ... }`。接口则定义了一组方法,但不包含实现,用`interface`关键字声明。类可以实现一个或多个接口,以确保遵循特定...

    as3简单的聊天窗体组件

    在AS3中,开发聊天窗体组件通常涉及以下知识点: 1. **事件驱动编程**:AS3是一个基于事件的编程模型,聊天应用中的各种交互如用户输入、消息发送和接收都通过事件来触发。例如,`KeyboardEvent.KEY_DOWN`用于监听...

    flash AS3入门资料

    Flash AS3,全称为ActionScript 3.0,是Adobe Flash Platform中的编程语言,主要用于创建交互式动画、网页应用、游戏以及丰富的互联网内容。AS3相较于之前的版本(如AS2)进行了重大升级,提供了更强大的性能、类型...

    as3学习教程(一)

    2. **类与对象**:AS3中的所有内容都是通过类来创建的。了解如何定义类(class关键字),创建对象(new关键字)以及类的继承(extends关键字)和多态性是深入学习的关键。 3. **事件驱动编程**:AS3中的大部分交互...

    Flash as3 cookie 操作实例源码

    在AS3中,我们没有内置的库来直接处理Cookie,但可以通过使用`flash.net.URLRequestHeader`和`flash.net.URLRequest`类来实现。以下是使用AS3操作Cookie的基本步骤: 1. **创建和设置Cookie**: - 首先,你需要...

    AS3 JSON 包

    AS3中的JSON对象通常以键值对的形式存在,你可以通过创建一个普通的AS3对象来表示JSON数据,然后使用`JSON.stringify()`方法将其转换为JSON字符串。例如: ```actionscript var myData:Object = {name: "John", ...

    AS3几个资料

    AS3中的粒子系统可以通过编程实现,通过对单个粒子的行为进行模拟来创建群体效果。 4. **物理模拟**:AS3可以结合第三方库(如Papervision3D或Flixel)实现基本的2D物理引擎,用于物体碰撞检测、重力模拟等。 5. *...

    魔力学堂 flash as3 游戏 源代码

    AS3中的Tween库如GreenSock Animation Platform (GSAP)可以实现平滑的动画效果,而物理引擎如Box2D AS3则能处理物体碰撞和运动模拟。此外,还有声音管理、网络通信、资源加载等模块,都是AS3游戏引擎的重要组成部分...

    AS3脚本入门电子教程

    在AS3中,事件处理是实现用户交互的关键。教程将详细解释事件模型,包括事件监听器的添加与移除、各种内置事件(如鼠标点击事件、键盘事件等)以及自定义事件的创建。此外,还会涉及时间轴控制,讲解如何使用...

Global site tag (gtag.js) - Google Analytics