当前位置:主页>FLASH AS 编程>FMS>文章内容
  • Flash Media Server 起步 (9)在线列表
  • 来源:N神AS研究所 作者:N神 2007-11-05 【
FlashAs作品发表>>我要投稿 | FlashAs讨论区>>AS论坛
Flash Media Server学习站>>www.FMScn.com


学了这么多,智商跟我差不多的,概念应该都搞混了 [sweat]
学了就要用。练练吧,做个在线列表,这次没有用ShareObject而是把用户名都装到一个application.onlineList数组里
通过遍历application.clients来广播给各个client,上线下线就是对onlinelist数组的处理。看看吧
点此下载

Client:
btn.onRelease = function() {
  if (_root.id.text != "") {
    _root.init();
  }
};
function init() {
  IDNUM = _root.id.text;
  //这个为登陆名
  //IDPASS = "456";
  mync = new NetConnection();
  mync.onStatus = function(info) {
    trace(info.code);
  };
  mync.connect("rtmp://localhost/phone", IDNUM, IDPASS);
  mync.onlineList = function(list) {
    //填充List组件
    mylist.labels = list;
  };
}

server端
application.onAppStart=function(){
  trace("------onAppStart----")
  this.onlineList=[]
  }
application.onConnect=function(newClient,IDNUM,IDPASS){
  trace("------user onconnected------")
  newClient.IDNUM=IDNUM
  //newClient.IDPASS=IDPASS
  //处理在线数组(push)
  this.onlineList.push(IDNUM)
  this.acceptConnection(newClient);
  //广播给client
  for(var i=0;i<this.clients.length;i++){
 this.clients[i].call("onlineList",null,this.onlineList)
    }
    
  
  }
application.onDisconnect = function (newClient){

 trace("------user disconnected------");
  //处理在线数组(splice)
  for(var i=0;i<=this.clients.length;i++){
    if(this.onlineList[i]==newClient.IDNUM){
      this.onlineList.splice(i,1)
      }
    }
 //广播
  for(var i=0;i<this.clients.length;i++){
 this.clients[i].call("onlineList",null,this.onlineList)
    }
};




上一篇:Flash Media Server 起步 (8) client与server交互进阶   下一篇:Flash Media Server 起步(10)中文编码问题
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)