本文将介绍利用Flash MX和Flash Communication ServerMX构建多媒体服务器的方法。 多媒体服务器现状
1.几种常见的多媒体 最常见的多媒体服务有Real公司的RealServer,微软(Microsoft)公司的Microsoft Media Server和苹果(Apple)公司的Quicktime Streaming Server。表1列出了这3种多媒体服务器的情况,这3种多媒体服务器主要面向视音频文件(因其采用流式传输技术,也可称流媒体),提供在不同网络带宽条件下的视音频的播放。 多媒体(流媒体)服务器协议 客户端(播放器)文件名服务器适用平台流式传输管理Web接口 RealServer RTSP Realplayer系列 .ram Windows系列 支持 支持 .rm .ra Microsoft MMS Media Player .wmaWindows 2000 Server支持支持 Media Server .wmv .asf .asx Quicktime RTP/RTSP QuickTime Player.movMac、Windows系列 支持支持 Streaming Server .mp3 .mp4 以上多媒体服务器都采用了先进的技术,使得视音频媒体在保持较好质量的同时能够流畅播放,极大丰富了网络资源,但是另一方面还没有适用的可交互的网络多媒体,直到Flash的出现。 2. Flash的不足 Flash虽然具有交互性和网络的特点,但是这两个优点还没有合而为一,两个Flash影片之间仍不能相互通信,Flash的网络优势只体现在传输上而不是功能上。Flash Communication Server的出现为Flash技术打开了另一片世界。 为什么采用Flash服务器 Flash多媒体服务器的出现使得Flash成为真正的客户端软件,从而可以和Flash Communication Server 建立客户/服务器(C/S)架构。对视频和音频更灵活的支持也使Flash在流媒体方面与其他多媒体服务器相比较而不甚逊色。 有了Flash Communication Server的支持,就可以用Flash来制作共享白板、聊天室、广播、网络可视电话及多人网络游戏等网络多媒体,尤其是实时视音频的引入使Flash的多媒体步入网络时代。想像一下,和朋友在聊天室里既可以发送文本信息又能听到看到是多么惬意的事情。 Flash Communication Server系统结构 Flash Communication Server MX是Flash专用的多媒体服务器,平台由两部分构成:服务器和Flash播放器,即服务器端和客户端。 服务器端的应用程序在Flash Communication Server上有自己独立的目录,存放服务端脚本文件和其他资源。客户端与服务器通过RTMP协议(Real-Time Message Protocol)相互通信。典型应用如下:Flash客户端通过RTMP协议与Flash Communication Server建立连接,这样就在Flash的客户端与服务器端形成稳定的数据流。当然,通常swf是嵌入在浏览器中的,所以也存在Web服务器通过Http协议将Flash客户端(或浏览器端)的请求发送给服务器的过程。 1. 使用的软件 所谓组件(Component)是将一部分设计好的功能模块(可包含图片和脚本)精炼出来,供其他Flash文件或脚本调用,以提高可重用性,其实质仍然是.fla文件。图2是由Macromedia提供的免费下载的Flash MX通信组件,这些组件包括了基于Flash Communication Serve服务器的基本功能 ,扩展已有的基本组件可实现更复杂的网络功能。 以目前Flash的最高版本Flash MX介绍开发完整的Flash客户/服务器应用所用到的软件工具: * Flash 6播放器(客户端) 主要是嵌入到浏览器中的Flash播放器,作为访问服务器的客户端程序。 * Flash MX集成开发环境(IDE) 设计编辑客户端文件,一般需要用到通信组件,形成.swf文件。 * Flash Communication Server MX 服务器端应用程序,包括服务端脚本。 * 文本编辑器,如Dreamwaver 编写ActionScript服务端脚本.asc文件。ActionScript是类似于Javascript的脚本语言,可以用任何支持编辑Javascript的编辑器来编写。 2.Flash的客户/服务器模式的两种模式 Flash客户/服务器模式有两种工作模式,一种是客户端之间通信,服务器起桥梁的作用,聊天室就工作在这种模式;第二种,各个客户端是独立的,它们只和服务器交换信息,在线交互游戏、在线查询和视频广播等均使用这种模式。 3. RTMP协议 Flash客户端与服务器端使用RTMP协议通信。RTMP协议默认使用1935端口RTMPT协议,与RTMP协议类似,而RTMPT协议使用80 端口。表2是RTMP协议的具体格式(将在ActionScript中使用)。 协议 服务器名称 端口 应用程序 实例 rtmp:// www.(空) /mydirectory /groupChatApp/HelpDesk rtmpt:/ (空) (空) sharedWhiteboardApp /June2003 rtmp: (空) 1234 /chatApp /room_name 创建应用实例 下面从一个简单的实例说明Flash Communication Server的用法。 1.创建服务器端应用 假定Flash Communication Server MX安装路径为“C:\Program Files\Macromedia\Flash Communication Server MX”。 安装路径下的applications目录用来存放服务器端应用。在applications目录下新建名为testapp的目录,并用文本编辑器(也可用Windows附带的记事本)在此目录下创建文件main.asc。 ASC即ActionScript for Communications,是Flash Communication Server执行使用的ActionScript的服务器端脚本文件,一般只需要加入下面一行语句: load( "components.asc" ); 应用启动时,main.asc文件通知加载所有通信组件的服务器端脚本。 2. 创建客户端应用 客户端应用必须在Flash MX环境中制作。 打开Flash MX的安装目录下的“Flash MX\First Run\Components\” 文件夹,将通信组件文件“Communication Components.fla”放置在该文件夹中。然后运行Flash MX,在组件面板(Components Panel)中就可以看到通信组件了。 下面的ActionScript语句建立到Flash Communication Server的连接: conn = new NetConnection(); conn.connect("rtmp://real.macromedia.com/funAndGames"); |
|
来自: earthworm > 《Flash_FLV》