随笔 - 8  文章 - 55  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

朋友的Blog

最新评论

阅读排行榜

评论排行榜

我的聊天室开发教程(一):读取配置文件

2004年11月27日21:45星期六 [ FMS ]


一直没有顾上,今天开个头,也不知道什么时候可以写完。
如果不知道我的聊天室是什么,
看这里吧
今天首先讲下加载聊天配置文件
加载配置文件是通过调用php文件来动态生成XML文件,然后通过Flash本身XML对象的方法来读取。
首先,我们要定义php文件调用路径
1 : var PhpPath = 'chat/' ; //程序执行路径

并定义了配置变量的保存数组
1 : _global.Setup = new Array(); //配置数组


接下来就是读取配置文件
1 : var myXML = new XML() ;
2 : myXML.ignoreWhite = true ;
3 : myXML.load(PhpPath + 'config.php?rand=' + Math.random());

注意使用rand参数是为了防止缓存

定义加载完成事件
1 : myXML.onLoad = function(succes){
2 : if(succes){
3 : //读取XML 数据
4 : } else {
5 : showMsg( '配置文件读取错误!' );
6 : }
7 : }


读取XML数据的方法
1 : var root = this.firstChild ;
2 : nodes = root.childNodes ;
3 : for(var j=0; j < nodes.length; j++)
4 : {
5 : varName = nodes[j].attributes.name;
6 : varExpr = nodes[j].attributes.expr;
7 : Setup[varName] = varExpr;//把传递的变量存入数组
8 : }


我定义的XML配置文件格式如下:
1 : <data >
2 : <var name='变量名称'
expr='变量值' />
3 : 。。。。。。
4 : < /data >

至于如果取得变量的值就要根据你使用的编程语言了,如果你不想动态生成XML文件,或者觉得没有一些变动的参数的话,就可以直接读取xml文件的方式,这样就不需要WEB环境的支持,myXML.load的时候直接加载XML文件就可以了。如果使用PHP、ASP等动态语言,请按照各自的方式获取和定义变量的值。

其中的各个变量含义如下
01 : AppDirectory 应用程序目录
02 : MaxConnect 最大连接数
03 : UserName 用户名
04 : UserSex 性别
05 : UserLevel 用户级别
06 : RoomId 房间号
07 : RoomName 房间名
08 : MaxUser 房间最多用户数
09 : WebSiteUrl 服务器地址
10 : ChatStatus 聊天状态

你可以根据自己系统的需要增减参数

XML数据读取完成后,就要开始做一些聊天室系统的初始化工作了,(当然,在这里你可以加上条件判断,如聊天状态chatStatus的值是否为1等)。首先要做的事情是连接服务器。
1 : simpleconnect.appDirectory= 'rtmp://' + Setup[ 'WebSiteUrl' ] + '/' + Setup[ 'AppDirectory' ];
2 : simpleconnect.serverConnect(Setup[ 'UserName' ], Setup[ 'RoomId' ]);


另外,在这里可以根据配置参数来做条件判断,如是否隐藏管理员功能
1 : if (Setup[ 'UserLevel' ]==1){
2 : clearBut._visible = true; //清屏
3 : kickBut._visible = true; //踢人
4 : banBut._visible = true; //禁止
5 : lookBut._visible = true; //查看IP
6 : }


其它方面,就是要检测用户的摄像头和麦克风是否可用
这里使用了两个方法
checkForCam() 检测摄像头
checkForMic() 检测麦克风
具体请参考源文件
根据检测情况来设置配置数组
1 : if(checkForCam()==1) Setup[ 'Camera' ]=1;
2 : else Setup[ 'Camera' ]=0;
3 : if(checkForMic()==1) Setup[ 'Mic' ]=1;
4 : else Setup[ 'Mic' ]=0;

在这个部分,你可以添加自己的条件判断了~

现在读取配置文件的工作和系统初始化的工作已经完成,其实大家可以根据我的实现方式发挥,不要拘泥于我的代码实现~
posted on 2006-06-08 13:54 blog搬家了--[www.ialway.com/blog] 阅读(891) 评论(0)  编辑  收藏 所属分类: FMS

只有注册用户登录后才能发表评论。


网站导航: