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

FCS阅读笔记21 Client对象

[来源:世纪流年blog | 作者:世纪流年 | 时间:2008-04-04 | 点击:  | 收藏本文  【 】]
 
Client对象包含了每个联机用户的信息,例如:客户端的IP地址、Flash和操作系统的信息、分配用户的频宽以及呼叫客户端的函数。该对象必须在服务器端使用。
Clinet对象经常用来呼叫客户端定义的方法,使用Client.call方法
例如我们在客户端定义了一个获取随机数的方法
1 : nc = new NetConnection();
2 : nc.connect ('rtmp://someserver/someApp/someInst');
3 : nc.random = function(){
4 : return (Math.random());
5 : };

需要在服务器端使用该方法时,就可以通过client对象的call方法
01 : application.onConnect = function(clientObj){
02 : trace('we are connected');
03 : application.acceptConnection(clientObj);
04 : clientObj.call('random'

第二个参数是返回对象,如果有参数需要传递,依次跟在后面就可以了。
Client对象可以方便地获取某个客户端的相关信息,包括:
Client.agent 客户端的平台和版本信息
Client.ip 客户端的 IP 地址
Client.protocol 客户端连接到服务器的协议
Client.readAccess 客户端具有读操作的权限列表
Client.referrer 客户端swf文件的URL地址
Client.writeAccess 客户端具有写操作的权限列表
使用方法如下:
1 : application.onConnect = function(client){
2 : if (client.ip == '127.0.0.1'){
3 : // insert code here
4 : } else {
5 : // insert code here
6 : }
7 : };

请注意不要和application.clients属性相混淆,application.clients是所有联机用户的列表
application.clients[ i ]表示某个Client对象的实例
我们可以这样访问客户端对象的属性,
1 : for (var i = 0; i < application.clients.length; i++) {
2 : trace(application.clients[ i ].ip);
3 : }


关于限制带宽的两个方法
Client.getBandwidthLimit 取得带宽限制值,分别取得客户端到服务器端以及服务器端到客户端的带宽限制,如:
1 : application.onConnect = function(newClient){
2 : var clientToServer= newClient.getBandwidthLimit(0);
3 : var serverToClient= newClient.getBandwidthLimit(1);
4 : };

Client.setBandwidthLimit(iServerToClient,iClientToServer) 设置带宽限制值
如果某个参数设为0,表示不改变当前的设置值。
查询客户端是否和服务器保持连通状态可以使用Client.ping方法,如
1 : application.onConnect( newClient ) {
2 : if ( newClient.ping() ){
3 : trace('ping successful');
4 : }
5 : else {
6 : trace('ping failed');
7 : }
8 : }

注意有时候ping方法的响应时间比较久,要最有效的侦测客户端是否和服务器端保持连通的方法是client和server端作相向回覆。
如果所有的客户端对象的实例都需要使用相同的属性和方法的时候,你可以把该属性和方法扩展到类中,而不需要在客户端为每一个实例创建方法。这样可以减少客户端的内存占用。这个过程称为类的扩展,你可以扩展任何客户端或服务器端的类。
扩展的方法或属性不需要在类的架构函数中声明(在架构函数中声明的方法和属性在每个实例初始化的时候都会分配一次),通过prototype属性来扩展的方法和属性在所有类的实体中都可以使用。
上一页12 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:FCS阅读笔记20 拍摄和创建影像索引
下一篇:FlashCom Framework参考
Tags:     对象 笔记 阅读 客户端 方法 属性 function 可以 服务器
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过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+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号