Flash/Flex也支持基于Socket的网络连接 ,服务器端可以是C++,VB,C#,Java等任一语言开发。监听一个网络端口便可以接收到Flash/Flex开发的客户端的连接。
ActionScript 3.0提供了通过Socket连接的方式与服务器端通信。这点是超越传统B/S结构的重要特征。这样使得网络通信可以即时连接,避免了HTTP协议无状态连接的弊病。ActionScript 3.0使用XMLSocket类进行连接。需要注意的是使用XMLSocket类进行Socket连接时,不能自动穿过防火墙。要想穿过防火墙连接,则需要使用基于HTTP协议的RTMP协议。
通过查阅Adobe提供的API文档可以了解到,XMLSocket提供了四个公开方法:
1、XMLSocket(host:String=null,port:int=0)--创建一个新的XMLSocket对象。
2、close():void--关闭一个XMLSocket。
3、connect(host:String,port:int):void--连接到指定的TCP端口。
4、send(object:*):void--将数据发送到连接服务端。
OK,了解这些后我们就可以用XMLSocket来开发基于Socket的网络及时通信应用。下面通过C#提供一个Socket的服务端,并监听8888端口。示例程序如下:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Net.Sockets;
6 using System.IO;
7
8 namespace FlashFlexDotNet
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 TcpListener listener;
15
16 try
17 {
18 listener = new TcpListener(8888);
19 }
20 catch (Exception ex)
21 {
22 Console.WriteLine(ex.Message);
23 return;
24 }
25
26 listener.Start();
27 Console.WriteLine("服务器启动,等待客户端连接.");
28 bool loop = true;
29
30 while (loop)
31 {
32 Socket s = listener.AcceptSocket();
33 NetworkStream ns = new NetworkStream(s);
34 StreamReader reader = new StreamReader(ns);
35 string result = string.Empty;
36 try
37 {
38 result = reader.ReadLine();
39 Console.WriteLine(result);
40 }
41 catch (Exception ex)
42 {
43 Console.WriteLine(ex.Message);
44 }
45 }
46 }
47 }
48 }
49
服务器端Socket已经准备完毕,下面看看客户端的ActionScript的XMLSocket怎么来建立Socket连接与.net的Socket服务端进行通信。
如本文前介绍,ActionScript 3.0提供了基于Socket的网络连接类XMLSocket,我们可以直接使用它来开发基于Socket的网络通信。如下建立一个基与ActionScript 3.0提供的XMLSocket的网络连接:
1 private function connectionServer():void
2 {
3 xmlConn = new XMLSocket();
4 xmlConn.connect("127.0.0.1",8888);
5 }
随后,便可以通过XMLSocket的实例方法send()向Socket服务端发送消息了。如下代码定义:
1 private function onSend():void
2 {
3 xmlConn.send(txtData.text + "\n");
4 }
客户端完整代码:
1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
3 backgroundGradientAlphas="[1.0, 1.0]"
4 backgroundGradientColors="[#CDCAE6, #FFFFFF]">
5 <mx:Script>
6 <![CDATA[
7 import mx.controls.Alert;
8
9 private var xmlConn:XMLSocket;
10
11 private function connectionServer():void
12 {
13 xmlConn = new XMLSocket();
14 xmlConn.connect("127.0.0.1",8888);
15 }
16
17 private function onSend():void
18 {
19 xmlConn.send(txtData.text + "\n");
20 }
21 ]]>
22 </mx:Script>
23 <mx:TextArea x="43" y="34" height="120" width="263" id="txtData"/>
24 <mx:Button x="93" y="180" label="连 接" fontSize="12" click="connectionServer()"/>
25 <mx:Button x="190" y="180" label="发 送" fontSize="12" click="onSend()"/>
26 </mx:Application>
如下为本文示例程序测试结果图:
文章来自学IT网:http://www.xueit.com/html/2009-02/21_571_00.html
分享到:
相关推荐
Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载 一文的源码的完整工程文件,包含FLEX客户端和 ASP.NET服务端源码! 在VS2010和FLash builder4 中运行!
Flex与.NET互操作 对初学者很有用
Flex与.NET互操作是跨平台应用开发中的一个重要环节,它允许使用Adobe Flex的用户界面技术与微软.NET框架下的服务端逻辑进行数据交换。在这种场景下,WebService作为一种标准的跨平台通信方式,使得Flex客户端能够...
【Flex .NET 互操作】是指在Adobe Flex应用程序与Microsoft .NET框架之间进行通信和数据交换的技术。在Flex中创建的用户界面可以调用.NET编写的Web服务或直接与.NET应用进行交互,实现数据的加载和传输。这种互操作...
Flex与.NET互操作是开发跨平台富互联网应用(RIA)时的一个重要技术组合,它允许基于Adobe Flex的前端用户界面与Microsoft.NET后端服务进行高效的数据交换和功能调用。Flex以其强大的图形用户界面和丰富的媒体支持,...
【Flex与ASP.NET交互】指的是在开发Web应用时,使用Adobe Flex前端技术和Microsoft ASP.NET后端技术进行数据通信的方式。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,而ASP.NET是.NET Framework的一部分...
标题“测试flex+asp.net”涉及的技术点是Adobe Flex与微软的ASP.NET的结合使用,这是一种混合技术架构,旨在创建富互联网应用程序(RIA)。Flex是一款用于构建用户界面的开源框架,主要基于ActionScript和MXML,而...
Flex+ASP.NET+Web应用开发实战详解-源代码
在上一篇文章《Flex与.NET互操作(二):基于WebService的数据访问(上) 》中介绍了通过标签来访问Webservice。实际上我们也可以通过编程的方式动态的访问WebService,Flex SDK为我们提供了WebService类。
Flex与ASP.NET之间的通信是构建富互联网应用程序(RIA)时常用的一种技术,它允许前端的Flex界面与后端的ASP.NET服务进行数据交互。在这个程序例子中,我们使用了 FluorineFx 框架来实现这种通信。FluorineFx 是一个...
Flex+ASP.NET Web应用开发实战详解.z01
【Flex与Asp.Net通过Remoting方式进行通讯】是一种在客户端使用Flex进行富互联网应用开发,与服务器端基于Asp.Net的应用进行数据交换的技术。Remoting是远程方法调用的简称,它允许Flex客户端直接调用服务器上的.NET...
ArcGIS Server开发指南--基于Flex和.NET源码第二部分
接下来,可以通过一个具体的示例来展示如何实际操作上述配置步骤,实现Flex与ASP.NET之间的数据交换。例如,可以在.NET端创建一个简单的数据处理类,通过Fluorine将其暴露为远程服务,然后在Flex端通过...
《Flex + ASP.NET Web应用开发实战详解 Code P2》是一本深入探讨如何使用Adobe Flex与Microsoft ASP.NET技术相结合,构建高效、交互性强的Web应用程序的书籍。本部分(P2)可能聚焦于实际代码实现和高级功能的应用。...
通过以上步骤,Flex4能够与Asp.net的WebService进行无缝交互,实现跨平台的数据交换和业务逻辑处理。这种模式在开发复杂的Web应用时非常常见,特别是在需要富客户端体验和强大后端功能的场景下。 总结,Flex4与Asp...