FMS3 客户端call服务器端

这个例子使用flash CS3来展示如何将一个flash文件连接到一个服务器端的脚本,别且如何从服务器获取数据。在这个例子里面,flash用户界面有一个Button组件(其实例名称是bt)和一个lebel组件(其实例名称是txt)。当一个用户点击Button,客户端连接到服务器;然后客户端运行服务器端的函数来返回一个字符串的值。当服务器端回应了,客户端的回应函数在label上显示字符传。客户端通过改变Button的label来断开连接。当diaconnect的按钮被点击,客户端断开连接,并且清空label。

ONE.创建用户界面

         1.开启Flash CS3,然后选择新建>flash文件(ActionScript 3.0)。

         2.选择窗口>组件,然后选择User Interface>Button。在属性栏里面为按钮取名bt。

          3.添加一个Label组件,移动它到按钮上面,取名为txt。

 

保存文件为test.fla。

TWO.建立as文件。

         输入以下代码:

package {
 import flash.display.MovieClip;
 import flash.events.MouseEvent;
 import flash.events.NetStatusEvent;
 import flash.net.NetConnection;
 import flash.net.Responder;
  public class Main extends MovieClip {
  public var nc:NetConnection;
  public var myRespond:Responder;
  public function Main():void {
   txt.text="";
   bt.label="请点击链接";
   myRespond=new Responder(success,failed);
   bt.addEventListener(MouseEvent.CLICK,clickHandler);
  }
  private function clickHandler(e:MouseEvent) {
   if (bt.label=="请点击链接") {
    bt.label="请点击断开";
    nc=new NetConnection();
    nc.connect("rtmp://localhost/viniFMS");
    nc.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
    nc.call("sayServermsg",myRespond,"Hi");
   } else {
    txt.text="";
    bt.label="请点击链接";
    nc.close();
   }
  }
  private function statusHandler(e:NetStatusEvent) {
   if (e.info.code=="NetConnection.Connect.Success") {
    trace("ok");
   }
  }
  private function success(result:Object) {
   trace("成功:"+result.toString());
   txt.text=result.toString();
  }
  private function failed(result:Object) {
   trace("失败:"+result.toString());
  }
 }

}

将as文件保存为Main.as

在test.fla的属性那的文档类输入Main。保存。

 

Three:建立通讯文件(.asc)

1.选择文件>新建>actionscript通信文件。

输入以下代码:

application.onConnect=function(client){
  application.acceptConnection(client);
  client.sayServermsg=function(msg){
  return msg+",欢迎你来到FMS的世界 !";
   }
 }

将文件保存到fms的application的文件夹下的viniFMS文件夹下,文件名为:main.asc.    

 确保FMS的服务已经打开,80端口没有被php等占用。

然后运行flash,点击按钮。就会有结果出现了。如下图所示。

 

再点击按钮。关闭连接。再点就是打开。如此循环。客户端会得到服务器端返回的

数据。         

         一个客户端用actionscript编码来连接到服务器,处理事件,和做其它工作。通过flash CS3你可以使用actionscript 3.0,2.0或1.0,但是actionscript3.0提供更多特性。要想使用flex,你必须使用actionscript 3.0.

         Actionscript3.0显著的不同于actionscript 2.0。这个向导假设你是在正在编写actionscript 3.0的类,这些类是一些外部的.as文件,有符合你的开发环境的目录结构的包的名称

你可能感兴趣的:(职场,休闲,fms,as3.0流通讯)