`
isiqi
  • 浏览: 16351015 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex与.NET互操作(十):FluorineFx.Net的及时通信应用(ApplicationAdapter)(一)

阅读更多

使用FluorineFx.Net开发的每一个实时通讯功能应用都拥有一个应用程序适配器(ApplicationAdapter),用来管理整个实时通讯应用的生命周期,以及接受和拒绝客户端的连接等。应用程序适配器对象也就相当于是一个Flash媒体服务器应用程序的对象。

使用FluorineFx.Net开发及时通信应用,我们可以通过ASP.NET网站来宿主,一个ASP.NET网站可以承载多个实时通讯应用程序。这些应用程序都存储ASP.NET网站的根目录下指定文件夹的根目录中。如下图示:

在开发FluorineFx的及时通信应用的时候,按照FluorineFx的目录结构配置ASP.NET的站点目录是非常简单的,只需要在ASP.NET站点下面建立一个名为apps的目录,那么FluorineFx就会认为此目录下的每一个文件夹就表示一个FluorineFx应用。

我们可以通过FluorineFx来开发及时文字聊天、视频聊天、视频录制、媒体播放程序以及WebGame等类似及时应用程序。比如我们需要开发一个视频聊天系统,OK,那便在ASP.NET站点目录下建立一个apps目录,然后在apps下建立一个名为VideoChat的目录,如下目录结构:

在Flash或是Flex客户端,我们就可以使用下面的代码来连到这个基于FluorineFx的视频聊天应用。

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->privatevarns:NetConnection;
publicfunctionConnectionFxApp():void
{
ns
=newNetConnection();
ns.connect(
"rtmp://localhost:1974/VideoChat");
ns.client
=this;
ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
}

privatefunctiononNetStatusHandler(evt:NetStatusEvent):void
{}

每个应用程序都有其自己的应用范围和层次的根源,这和FMS、Red5是一样的规律。无论是范围还是层次,他都有一个唯一的名字(应用名、实例名等)来区分,我们也可以叫他们为应用程序的实例。这些实例可以是聊天室房间、视频流以及共享对象等。

这些其实是非常容易理解的,如上图示的聊天室房间分配,分别有Room1,Room2,Room3三个聊天房间,那么对于VideoChat这个聊天应用来说要进行视频聊天就有三条连接线路,分别是:

1、http://localhost:1974/VideoChat/Room1

2、http://localhost:1974/VideoChat/Room2

3、http://localhost:1974/VideoChat/Room3

除了聊天室和应用的层次外,应用程序里还有诸入视频流、共享对象等。他们可以共同应用,也可以为不同的房间分别建立不同的共享对象,如果你要想实现不同房间里的用户可以相互聊天不想让别的房间的人看到,OK,此时你就可以为该房间独立创建一个共享对象来实现。

当开发程序需要去连接客户端,处理服务端事件、调用客户端方法等,就需要自定义一个应用程序适配器(ApplicationAdapter),此适配器必须继承并实现FluorineFx.Messaging.Adapter.ApplicationAdapter。FluorineFx.Messaging.Adapter.ApplicationAdapter做为一个新的应用程序的基类,提供了客户端与应用程序之间通信的接口方法、数据流以及共享对象等。它能够时时处理应用程序的启动、停止、客户端的连接和断开。

在Flash或是Flex客户端,我们可以通过NetConnectin.call()调用应用程序适配器的方法。如下示例代码块:

服务器端应用适配器所定义的代码:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->publicclassApplication:ApplicationAdapter
{
publicstringEcho(stringmsg)
{
return"Echo:"+msg;
}
}

Flash/Flex客户端可以通过以下代码块调用服务器端的方法:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->privatevarns:NetConnection;
privatefunctionCallServerMethod():void
{
nc
=newNetConnection();
nc.connect(
"rtmp://localhost:1974/application");
nc.onResult
=function(obj)
{
trace(
"Theresultis"+obj);
}
nc.call(
"Echo",nc,"Hello");
}

本文就先介绍到这里,下篇将接着本篇介绍FluorineFx.NET中客户端调用服务器端方法和服务器端呼叫客户端的方法。

分享到:
评论

相关推荐

    Flex与.NET互操作(十一):FluorineFx.Net的及时通信应用(Remote Procedure Call)(二)

    Flex与.NET互操作系列文章的第十一部分主要探讨了FluorineFx.NET框架下的远程过程调用(RPC)机制,这是一种实现客户端(Flash或Flex)与服务器端(.NET)高效通信的方法。FluorineFx.NET为跨平台交互提供了强大的...

    Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote Shared Objects)(三)

    Flex与.NET互操作的核心在于 FluorineFx.Net 框架,它允许 Flex 客户端与 .NET 服务端进行高效的数据交换。本篇主要关注的是 Remote Shared Objects(远程共享对象),这是一个强大的功能,用于在多客户端之间实现...

    fluorineFx实现Flex与.NET交互实例代码

    1. **Flex与.NET互操作**:这是整个实例的核心主题,Flex是一种用于构建富互联网应用程序(RIA)的开发工具,而.NET框架则提供了强大的后端开发环境。通过FluorineFx,开发者可以使用Flex在前端创建用户界面,同时...

    flex与.net通信的FluorineFx模板

    Flex与.NET通信的FluorineFx模板是一个关键的技术实现,它使得基于Adobe Flex的前端应用能够有效地与后端的.NET Framework服务进行交互。FluorineFx是这个过程中的核心工具,它是一个开放源码的库,专门设计用于解决...

    Flex与ASP.Net通信(FluorineFx)程序例子

    Flex与ASP.NET之间的通信是构建富互联网应用程序(RIA)时常用的一种技术,它允许前端的Flex界面与后端的ASP.NET服务进行数据交互。在这个程序例子中,我们使用了 FluorineFx 框架来实现这种通信。FluorineFx 是一个...

    Flex与.NET交互

    Flex与.NET交互是一种常见的跨平台应用开发场景,它允许基于Adobe Flex的前端应用程序与Microsoft .NET框架后端服务进行通信。这种交互使得开发者能够利用Flex的富互联网应用(RIA)特性与.NET的强大后端功能相结合...

    Flex 4 asp.net VS2010 FluorineFX

    在本教程中,我们将探讨如何使用Visual Studio 2010(VS2010)作为集成开发环境(IDE),结合FluorineFX这一开源的Adobe Flex到.NET的AMF Remoting框架,来实现Flex前端与ASP.NET后端的无缝通信。 首先,Flex 4是...

    Flex与ASP.net交互

    【Flex与ASP.NET交互】指的是在开发Web应用时,使用Adobe Flex前端技术和Microsoft ASP.NET后端技术进行数据通信的方式。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,而ASP.NET是.NET Framework的一部分...

    Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放

    FluorineFx.Net是一个强大的工具,它不仅提供了AMF(Action Message Format)通信、RTMP(Real-Time Messaging Protocol)协议、RPC(Remote Procedure Call)以及远程共享对象,还支持视频流服务,这使得开发者能够...

    Flex(PureMVC) asp.net FluorineFx操作数据库

    标题中的“Flex(PureMVC) asp.net FluorineFx操作数据库”表明这是一个关于使用Adobe Flex(一种基于ActionScript的前端开发框架)与后端ASP.NET通过FluorineFx进行数据交互并操作数据库的项目。以下是相关知识点的...

    Flex与.NET互操作 了解FluorineFx的环境配置(远程对象、网关、通道、目的地)

    Flex与.NET互操作是开发跨平台富互联网应用(RIA)时常见的需求,FluorineFx作为一款开源的Adobe Flex到.NET互操作框架,极大地简化了这一过程。本文将深入探讨如何利用FluorineFx配置环境,实现Flex与.NET之间的...

    Flex与.NET互操作(八) 使用FluorineFx网关实现远程访问

    FluorineFx是一个开源的.NET Remoting与Flash Remoting网关,它允许.NET应用程序和Adobe Flex应用程序之间进行远程通信。FluorineFx支持多种数据类型的远程调用,包括对象、DataTable和DataSet等,这对于在Flex...

    Flex_FluorineFx_ASP.NET

    Flex_FluorineFx_ASP.NET 是一个技术组合,涉及到Adobe Flex、FluorineFx以及ASP.NET这三者在Web开发中的应用。这个主题主要关注如何利用这些技术创建富互联网应用程序(RIA)并实现客户端与服务器之间的高效通信。 ...

    Flex+.Net+Cairngorm+Fluorine的HelloWorld演示

    FluorineFX是.NET平台上的一种Flash Remoting解决方案,它使得Flex客户端可以与.NET服务器进行无缝通信,支持AMF(Action Message Format)协议,提高了数据传输效率。 在这个HelloWorld演示中,你可能会学到以下...

Global site tag (gtag.js) - Google Analytics