您好,欢迎来到我要学flash网!登录注册

Flash Media Server 起步(9)在线列表。。

来源:我要学flash网 | 作者:admin | 发表时间:2011-07-13 | 点击:  次

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

Client:

  1. btn.onRelease = function() {  
  2.   if (_root.id.text != "") {  
  3.     _root.init();  
  4.   }  
  5. };  
  6. function init() {  
  7.   IDNUM = _root.id.text;  
  8.   //这个为登陆名  
  9.   //IDPASS = "456";  
  10.   mync = new NetConnection();  
  11.   mync.onStatus = function(info) {  
  12.     trace(info.code);  
  13.   };  
  14.   mync.connect("rtmp://localhost/phone", IDNUM, IDPASS);  
  15.   mync.onlineList = function(list) {  
  16.     //填充List组件  
  17.     mylist.labels = list;  
  18.   };  
  19. }  

server端

  1. application.onAppStart=function(){  
  2.   trace("------onAppStart----")  
  3.   this.onlineList=[]  
  4.   }  
  5. application.onConnect=function(newClient,IDNUM,IDPASS){  
  6.   trace("------user onconnected------")  
  7.   newClient.IDNUM=IDNUM  
  8.   //newClient.IDPASS=IDPASS  
  9.   //处理在线数组(push)  
  10.   this.onlineList.push(IDNUM)  
  11.   this.acceptConnection(newClient);  
  12.   //广播给client  
  13.   for(var i=0;i<this.clients.length;i++){  
  14.  this.clients[i].call("onlineList",null,this.onlineList)  
  15.     }  
  16.       
  17.     
  18.   }  
  19. application.onDisconnect = function (newClient){  
  20.  
  21.  trace("------user disconnected------");  
  22.   //处理在线数组(splice)  
  23.   for(var i=0;i<=this.clients.length;i++){  
  24.     if(this.onlineList[i]==newClient.IDNUM){  
  25.       this.onlineList.splice(i,1)  
  26.       }  
  27.     }  
  28.  //广播  
  29.   for(var i=0;i<this.clients.length;i++){  
  30.  this.clients[i].call("onlineList",null,this.onlineList)  
  31.     }  
  32. }; 

 

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    本文引用地址:
      最新评论: 共有位网友发表了评论
      发表评论:
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 密码: 验证码: