FMS3系列(一):第一个FMS程序,连接到FMS服务器(Flash/Flex两种实现)
2009-03-11 11:57:57 来源:WEB开发网二、Flash连接到FMS服务器
首先建立一个Flash文件(ActionScript 3.0)并将其保存在某个目录(自己决定吧)中。然后打开组件面板(可以按Ctrl+F7)从组件面板中拖拽一个button组件到刚建立好的Flash的舞台(也就是Flash显示东西的那一块地方),然后通过属性面板(可以按Ctrl+F3)将刚拖拽出的button取个名字(Flash中叫他为实例名,舞台中的每一个组件就是一相对应的对象的实例),我取的是btnConnFMS。
完成上面两步后回到舞台,鼠标在舞台中空白位置点击一下,然后同样打开属性面板,你会发现现在的属性面板和先前的有些不一样,在发布选项下找到“类”,这里我填写的为“ConnFMS”,表示我将要通过ConnFMS.as这个类文件来对当前的这个Flash进行编码。
上面承诺了由ConnFMS.as来负责Flash的编码工作,那该怎么做呢?建立一个ActionScript类文件,保存在之前保存Flash文件的同一目录就OK,记住这个类文件一定是“ConnFMS.as”。下面是ConnFMS.as的完整代码:
1 package
2 {
3 import flash.net.NetConnection;
4 import flash.net.NetStream;
5 import flash.display.MovieClip;
6 import flash.net.Responder;
7 import flash.events.MouseEvent;
8 import flash.events.NetStatusEvent;
9 import flash.events.AsyncErrorEvent;
10
11 public class ConnFMS extends MovieClip
12 {
13 private var nc:NetConnection;
14
15 public function ConnFMS()
16 {
17 btnConnFMS.label="连接到FMS";
18 }
19
20 private function onClickHandler(evt:MouseEvent):void
21 {
22 trace("正在连接FMS服务器");
23 nc = new NetConnection();
24 nc.connect("rtmp://localhost/firstFMS");
25 nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
26 }
27
28 private function onNetStatusHandler(evt:NetStatusEvent):void
29 {
30 switch (evt.info.code)
31 {
32 case "NetConnection.Connect.Success":
33 trace("成功连接FMS服务器!");
34 break;
35 case "NetConnection.Connect.Rejected":
36 trace ("访问FMS服务器权限不足,连接被拒绝!");
37 break;
38 case "NetConnection.Connect.InvalidApp":
39 trace("指定的应用程序名称没有找到");
40 break;
41 case "NetConnection.Connect.Failed":
42 trace("连接失败!");
43 break;
44 case "NetConnection.Connect.AppShutDown":
45 trace("服务器端应用程序已经关闭(由于资源耗用过大等原因)或者服务器已经关闭!");
46 break;
47 case "NetConnection.Connect.Closed":
48 trace("与FMS的连接中断!");
49 break;
50 }
51 }
52 }
53 }
更多精彩
赞助商链接