用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Fms教程>列表

fms中介函数

[来源:闪客无忧 | 作者:佚名 | 时间:2008-04-04 | 点击:  | 收藏本文  【 】]
早先整理的一条中介函数。
下边是客户端的函数:

var mync2 = new NetConnection();
btn.onPress = function() {
 ID = txt.text;
 list_arr = [[ID, 123456]];
 mync2.connect("rtmp://localhost/goqo", list_arr);
};
func_arr = [this.func_2(obj.info)];
mync2.onStatus = function(info) {
 trace(info.code);
 if (info.code == "NetConnection.Connect.Success") {
  call_appliaction(this, "func_2", "123", "main");
 }
};
mync2.hello = function(what) {
 output.text = what;
};
function call_appliaction(who, func, info, type, condition) {
 var Send = {};
 Send.func = func;
 Send.info = info;
 Send.type_ = type;
 Send.condition = condition;
 who.call("reCall", null, Send);
}




下边是服务端main.asc文件的代码及解释:
   application.onAppStart = function() {
//menber为客户端成功连接后的用户信息数组在这里初始化;并
//在application.onConnect 事件将用户信息记录
 menber = [];
};
application.onConnect = function(newClient, arr) {
 menber.push(arr[0][0]);
 application.acceptConnection(newClient);
};
Client.prototype.reCall = function(obj) {
  if (obj.type_ == "public" || obj.type_ == true) {
  //广播信息
  application.broadcastMsg(obj.func, obj.info);
 }
//私聊机制
else if (obj.type_ == "private" || obj.type_ == false) {
  for (var i = 0; i<application.clients.length; i++) {
   if (menber[i] == obj.condition) {
    application.clients[i].call(obj.func, null, obj.info);
   }
  }
 }
//调用服务端方法
else if (obj.type_ == "main") {
this[obj.func](obj.info)
 } 
};
//客户端自身方法
Client.prototype.func_2 = function(what) {
 trace("服务端func_2方法被呼叫成功,参数:"+what);
};



工作原理很简单,主要是客户端通过自定义的call_appliaction函数方法呼叫以及传递呼叫类型跟参数数据给服务端的reCall中介函数,并由reCall中介函数分析传递过来的数据,决定事件类型。

下面分析下;
call_appliaction函数的几个参数;
function call_appliaction(who, func, info, type, condition) {
 var Send = {};
 Send.func = func;
 Send.info = info;
 Send.type_ = type;
 Send.condition = condition;
 who.call("reCall", null, Send);
}
call_appliaction的工作主要通过call的方法于连接对象进行通信,并将参数赋值给Send对象,
who:NetConnection//连接名;func:String//要求调用的函数方法名称;info:/ /info为要传递给func函数的参数信息;类型最好是数组或对象;
type:Boolean/String;//告诉服务起reCall函数要调用的函数类型(目前为3中形式分别为:广播函数,私聊机制函数,及服务端函数);condition:String ,//类似用户id之类的,能区分客户端用户的字符信息(暂为私聊机制函数专用);

服务端reCAll函数解释请看相关注释
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:flv在线视频播放
下一篇:FMS音频延迟分析
Tags:     函数 中介 function 服务 // 方法 call_appliaction info
>>> 最新评论:(共有 1 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·FMS在线客服系统(客户端篇)
·FMS在线客服系统(fms脚本)
·FMS在线客服系统(分析篇)
·分布式的Flash Media Server: Gr
·基于SharedObject 3*3数组 做的M
·用flex做的 多服务器 im 及 源码
·基于SharedObject做的房间列表和
·fms 2.0A星寻路
·FMS音频延迟分析
·fms中介函数
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·Flash打造简单的飘雪动画视觉特效
·flash水影效果字
·全Flash动画网站实现的基础教学
·Flash旋转拖尾文字效果的制作教程
·超酷flash光晕移动效果
·flash春雷闪电效果
·即拷即用的loading代码
·Flash制作大雪纷飞效果动画
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号