(一)
从今天起,我们来学习一下 Flash Media Server,简称FMS,从名字上我们可以看出这是一个媒体服务器,其它简单点理解就是一个交互服务器,而且可以实现媒体方面的交互,我们可以利用它来完成一些网络版的FLASH程序,比如聊天室,网络版的不是很复杂的游戏,等等。
大家可以到如下地址下载最新的3.0版本:
http://www.adobe.com/products/flashmediainteractive/
当然这个版本是开发版,开发版和正式版的区别在于开发版只支持10个连接数,不过对于我们学习已经是足够了.
大家安装完之后,我们会在安装目录里看到applications和logs这两个目录,这个是我们用的最多的两个目录,applications是我们放服务端程序的地方,而logs是放日志文件的地方,日志文件对我们调试程序很有帮助.
大家也可以修改这两个文件的路径,当然要更改配置文件,在conf目录里放的都是配置文件,我们打开fms.ini这个文件我们会找到
VHOST.APPSDIR =
LOGGER.LOGDIR =
这两项就是更改applications和logs路径的地方,如比我们改成:
VHOST.APPSDIR = e: \fms\applications
LOGGER.LOGDIR = e:\fms\logs
那么我们就在e盘建立相应的目录把程序入在里面就可以了.
确定FMS的服务打开了,就可以运行了,FMS有两个服务,在安装完后在开始菜单我们可以找到Start Flash Media Administration Server 3 和 Start Adobe Flash Media Server 3 这两个打开服务的菜单,要打开服务点这两个就可以了,前一个是FMS管理服务,后一个是FMS服务,Stop Flash Media Administration Server 3和Stop Adobe Flash Media Server 3就是关闭这个服务的,默认状态下,在电脑刚启动里,这两个服务就会启动,当然也可以在windows的服务里面来启动和关闭服务.
Flash Media Administration Console这个菜单项是打开管理后台,管理后台对我们调试程序是很有作用的,打开这个之后是一个登录界面,要求输入用户名密码和服务器地址,用户名和密码是我们在安装FMS就输入的,服务器地址就是我们要连的装有FMS的地址,我们连接本机就用localhost或者127.0.0.1就可以了,如果我们在安装的时候改了它的默认端口(1935)的话,我们在地址上还要加端口,如果没有改端口这里就不用加了,输入用户名密码和服务器地址,我们就可以进入管理界面了,具体如何操作,我们在后面会讲到.
整个教程,我会用一个聊天室的例子来讲解如何使用FMS,当然我只能讲出我所知道的知识,不能完全讲出FMS的强大的功能.
下节我们接触FMS基本的结构,下节继续.
--------------------------------------------------------------------------------
(二)
今天我们来看一下FMS里面最重要的一个类---Application类.
Application类包含了有关一个Flash Media Server应用程序实例的信息,这些信息会一直维持直至这个应
用程序实例被卸载.
先看一下在Application类中常用的方法:
Application.acceptConnection() 接受一个来自客户机的至一个应用程序的连接。
Application.disconnect() 从服务器断开一个客户机的连接。
Application.rejectConnection() 拒绝至一个应用程序的连接。
Application.shutdown() 卸载应用程序实例。
再看一下在Application类中常用的属性:
Application.clients 一个对象,该对象包含了当前连接到这个应用程序的所有客户的一个列表。
Application.name 一个应用程序实例的名字。
最后看一下在Application类中常用的事件:
Application.onAppStart 当这个应用程序被服务器装载时调用。
Application.onAppStop 当这个应用程序被服务器卸载时调用。
Application.onConnect 当一个客户机连接到这个应用程序时调用。
Application.onDisconnect 当一个客户机从这个应用程序断开连接时调用。
(这些是比较常用的,还有其它一些,大家可以看FMS自带的文档)
我们来描述一下客户机连接的流程:
1.当第一个用户连接的时候,会启动服务端应该程序实例,这样就会触发Application.onAppStart事件,通常我们会里这个事件里做一些初如化的事情.
2.用户连接的时候会触发Application.onConnect事件,在这个事件里我们可以用Application.acceptConnection()方法来接受这个用户的连接,也可以用Application.rejectConnection()方法拒绝这个用户.
3.服务器想把一个用户断开的时候,可以用Application.disconnect()方法,当一个用户断开,不管是服务器把它断开,还是客户端自己断开,都会触发Application.onDisconnect事件.
4.使用Application.shutdown()方法可以卸载应用程序实例,当这个应该程序长时间(大概半个小时左右)没有客户端连接的时候,应该程序也会被卸载,当应该程序卸载的时候会触发Application.onAppStop事件.
我们写FMS程序时,大多数都是这样的流程.
下节继续.
--------------------------------------------------------------------------------
(三)
今天我们来看一下用AS 3连接FMS3的代码(这些代码其它对FMS2也是适用的).
这个例子我们不会去写FMS的代码,但我们需要建一个FMS应该程序,其实就是建一个目录,在FMS放应该程序的目录(applications)里建一个文件夹,我们后面要做聊天室的例子,所以我们就建一个名叫chat的目录.
接下来就是客户端的代码了,我们建一个chat.fla的FLASH文件,再建一个文档类Chat.as:
package net.smilecn.chat{
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
public class Chat extends Sprite{
private var nc:NetConnection;
private var rtmpUrl:String = "rtmp://localhost/chat";
public function Chat():void{
nc=new NetConnection();
nc.addEventListener (NetStatusEvent.NET_STATUS,netStatusHandler);
nc.connect (rtmpUrl);
}
private function netStatusHandler(event:NetStatusEvent):void{
trace(event.info.code);
}
}
}
package net.smilecn.chat{
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
public class Chat extends Sprite{
private var nc:NetConnection;
private var rtmpUrl:String = "rtmp://localhost/chat";
public function Chat():void{
nc=new NetConnection();
nc.addEventListener (NetStatusEvent.NET_STATUS,netStatusHandler);
nc.connect (rtmpUrl);
}
private function netStatusHandler(event:NetStatusEvent):void{
trace(event.info.code);
}
}
}
这段代码里我们导入了一个NetConnection,这个类是FLASH里用于跟网络连接相关的操作,像我们连接FMS,remoting(我前面的一步一步学ActionScript 3[十六]里面有相关介绍).
NetStatusEvent是一个检测状态的事件
rtmpUrl是一个连接FMS的字符串,rtmp是FMS用的一个网络协议,localhost是服务器的IP,这里我们是本机,所以是localhost,如果放在网上,应该是你网上的IP,chat是应用程序名,就是之前我们建立的chat目录.这里我们完整的地址就是:rtmp://localhost/chat,其实如果是localhost,地址可以这样写:rtmpe:/localhost.
这个程序动行后会trace出NetConnection.Connect.Success,这个信息表示的是我们连接FMS成功了.
这是一个连接状态,event.info.code就是这个状态,相关的状态还有:
NetConnection.Connect.Closed 成功关闭连接。
NetConnection.Connect.Failed 连接尝试失败。
NetConnection.Connect.Rejected 连接尝试没有访问应用程序的权限。
这几个状态是我们用的比较多的,当然还有一些状态,在帮助里可以查到.
这是连接FMS最基本的代码,以后我们都会用到这些代码.下节继续.
转自:http://blog.smilecn.net/
分享到:
相关推荐
FMS4.5( Adobe Flash Media Server4.5)流媒体服务器搭建 支持rtmp推送与浏览
flash media server 4 帮助文档 Server-Side ActionScript is Adobe’s name for JavaScript 1.5. Flash Media Server has an embedded Java-Script engine that compiles and executes server-side scripts. This ...
FMS开发Flash Media Server 入门教程 我把我以前的那些FMS学习笔记整理了一下,做了下修改,成了一页的FMS教程,方便想学FMS的新手来看,如果还有错误或者看不懂的地方欢迎留言,或email偶,偶会进行更改 什么是...
flash media server 5.0.14(ADOBE FMS5.0)64bit for win 视频服务器软件2017年11月最新版,因文件限制,已拆开两个文件,part1和part2,要2个一起下可用。
FMS4.0实现流媒体服务器的配置,包含FMS的配置说明,FMS4.0和3.5注册机,另附带RTMP视频测试播放工具。360可能会提示危险,请放心,绝对无毒。 亲测可用。因为上传大小的限制 没有FMS软件 如有需要 请联系作者
flash media server 2下载 无限制序列号
fms用的flash播放器 放在服务器下执行
fsm(3.5)服务器是用于用户之间相互通讯的新平台,它集成了Flash多媒体交互的特性,又添加了实时音频和实时数据流等新特色.fms开发文档(3.5版),对学习开发flash media server的人有很大帮助。
FLASH MEDIA SERVER4.5注册机,FMS 4.5注册机
仅供fms编程爱好者学习和研究使用,不得用于任何商业用途。
Flash Media Server 4.5(fms4.5)教程一:安装使用说明
flash media server 5.0.14(ADOBE FMS5.0)64bit for win 视频服务器软件2017年11月最新版,因文件限制,已拆开两个文件,part1和part2,要2个一起下可用。
Flash相关学习文档 FMS API 学习指南: Flash Media Server 3技术指南_part2.pdf 安装Flash Media Server 2.pdf 服务器端ActionScript语言参考.pdf 服务器管理ActionScript字典.pdf 管理Flash Media Server.pdf 开发...
FMS3中文帮助 1.起步 2.流服务 3.开发媒体应用程序 4.开发实况视频应用程序 5.开发社交的媒体程序
Flash media server(原名Flash Communication Server)自带的资料都是英文版的,对于许多的读者来说,阅读起来很不方便,这一份中文版的翻译,真不错,可惜只有一部分,但是对于学习FMS入门绝对是一份很好的教材
简而言之,Adobe的FMS是一个多媒体应用平台,在这个平台上,可以实现多媒体流的点播、直播、交互等多种应用
管理Flash Media Server
陈冰 翻译 flash media server2 <<Developing media appliactions>>
Flash Media Server3 技术指南,有关FMS服务器的部署等配置