应用程序适配器对象相当于闪存媒体服务器应用程序对象。利用FluorineFx.Net开发即时通讯应用,我们可以通过ASP.NET网站托管,一个ASP.NET网站可以托管多个即时通讯应用。这些应用程序存储在ASP.NET网站根目录下指定文件夹的根目录中。下图:
在开发fluffx即时通讯应用时,根据fluffx的目录结构配置ASP.NET的站点目录是非常简单的。只需要在ASP.NET站点下建立一个名为apps的目录,那么flufefx就会认为这个目录中的每个文件夹都代表一个flufefx应用。我们可以通过FluorineFx开发即时文本聊天、视频聊天、视频录制、媒体播放器、网络游戏等类似的即时应用。例如,如果我们需要开发一个视频聊天系统,OK,我们将在ASP.NET站点目录下设置一个apps目录,然后在apps下设置一个名为VideoChat的目录,如下所示:。
在Flash或Flex客户端上,我们可以使用下面的代码连接到这个基于Flex的视频聊天应用程序。private varns 3360 net connection;public functionconnectionfxapp(): void { ns=new netconnection();ns . connect(' rtmp :///localhost :1974/videoChat ');ns.client=thisns . addeventlistener(NetStatusEvent。NET_STATUS,onNetStatusHandler);} private functiononnetstatushandler(evt : netstatusvent): void { }每个应用程序都有自己的应用范围和层次根,与FMS和Red5相同。无论是范围还是级别,都有唯一的名称(应用程序名、实例名等。)来区分它,我们也可以称它们为应用程序的实例。例如聊天室、视频流和共享对象。
其实这些都很好理解。如上图所示,共有三个聊天室:Room1、Room2和Room3,因此作为聊天应用程序的视频聊天有三条连接线。它们是:1、http://localhost 33601974/video chat/room 12、http://localhost 33601974/video chat/room 23、http://localhost 33601974/video chat/room 3。除了聊天室和应用程序级别,应用程序中还有各种视频流和共享对象。它们可以一起使用,也可以为不同的房间创建不同的共享对象。如果你想实现不同房间的用户可以互相聊天,不希望其他房间的人看到,OK,那么你可以独立为这个房间创建一个共享对象。当开发人员需要连接到客户端、处理服务器事件、调用客户端方法等时。它需要自定义一个ApplicationAdapter,applicationadapter必须继承并实现flufefx . messaging . adapter . application adapter作为新应用程序的基类,为客户端和应用程序之间的通信提供接口方法、数据流和共享对象。它总是可以处理应用程序的启动和停止,客户端的连接和断开。
在Flash或Flex客户端,我们可以通过NetConnectin.call()调用应用适配器的方法。下面的代码块示例:服务器端应用程序适配器定义的代码:公共类应用程序3360应用程序适配器{公共字符串echo(string msg){ return ' echo 3360 ' msg;}}该}}Flash/Flex客户端可以通过以下代码块调用服务器端方法: privatevans 3360 net connection;privateffectcallservermethod(): void { NC=new netconnection();NC . connect(' rtmp :///localhost :1974/application ');NC . onresult=function(obj){ trace(' Theresultis ' obj);} nc . call(‘Echo’,NC,‘Hello’);}这里先介绍一下这篇文章,下一篇接着这一篇介绍FluorineFx.NET客户端调用服务器的方法和服务器调用客户端的方法。