隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          我的聊天室開發(fā)教程(一):讀取配置文件

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


          一直沒有顧上,今天開個頭,也不知道什么時候可以寫完。
          如果不知道我的聊天室是什么,
          看這里吧 。
          今天首先講下加載聊天配置文件
          加載配置文件是通過調(diào)用php文件來動態(tài)生成XML文件,然后通過Flash本身XML對象的方法來讀取。
          首先,我們要定義php文件調(diào)用路徑
          1 : var PhpPath = 'chat/' ; //程序執(zhí)行路徑

          并定義了配置變量的保存數(shù)組
          1 : _global.Setup = new Array(); //配置數(shù)組


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

          注意使用rand參數(shù)是為了防止緩存

          定義加載完成事件
          1 : myXML.onLoad = function(succes){
          2 : if(succes){
          3 : //讀取XML 數(shù)據(jù)
          4 : } else {
          5 : showMsg( '配置文件讀取錯誤!' );
          6 : }
          7 : }


          讀取XML數(shù)據(jù)的方法
          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;//把傳遞的變量存入數(shù)組
          8 : }


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

          至于如果取得變量的值就要根據(jù)你使用的編程語言了,如果你不想動態(tài)生成XML文件,或者覺得沒有一些變動的參數(shù)的話,就可以直接讀取xml文件的方式,這樣就不需要WEB環(huán)境的支持,myXML.load的時候直接加載XML文件就可以了。如果使用PHP、ASP等動態(tài)語言,請按照各自的方式獲取和定義變量的值。

          其中的各個變量含義如下
          01 : AppDirectory 應用程序目錄
          02 : MaxConnect 最大連接數(shù)
          03 : UserName 用戶名
          04 : UserSex 性別
          05 : UserLevel 用戶級別
          06 : RoomId 房間號
          07 : RoomName 房間名
          08 : MaxUser 房間最多用戶數(shù)
          09 : WebSiteUrl 服務器地址
          10 : ChatStatus 聊天狀態(tài)

          你可以根據(jù)自己系統(tǒng)的需要增減參數(shù)

          XML數(shù)據(jù)讀取完成后,就要開始做一些聊天室系統(tǒng)的初始化工作了,(當然,在這里你可以加上條件判斷,如聊天狀態(tài)chatStatus的值是否為1等)。首先要做的事情是連接服務器。
          1 : simpleconnect.appDirectory= 'rtmp://' + Setup[ 'WebSiteUrl' ] + '/' + Setup[ 'AppDirectory' ];
          2 : simpleconnect.serverConnect(Setup[ 'UserName' ], Setup[ 'RoomId' ]);


          另外,在這里可以根據(jù)配置參數(shù)來做條件判斷,如是否隱藏管理員功能
          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() 檢測麥克風
          具體請參考源文件
          根據(jù)檢測情況來設置配置數(shù)組
          1 : if(checkForCam()==1) Setup[ 'Camera' ]=1;
          2 : else Setup[ 'Camera' ]=0;
          3 : if(checkForMic()==1) Setup[ 'Mic' ]=1;
          4 : else Setup[ 'Mic' ]=0;

          在這個部分,你可以添加自己的條件判斷了~

          現(xiàn)在讀取配置文件的工作和系統(tǒng)初始化的工作已經(jīng)完成,其實大家可以根據(jù)我的實現(xiàn)方式發(fā)揮,不要拘泥于我的代碼實現(xiàn)~
          posted on 2006-06-08 13:54 blog搬家了--[www.ialway.com/blog] 閱讀(898) 評論(0)  編輯  收藏 所屬分類: FMS
          主站蜘蛛池模板: 墨江| 屏东县| 华安县| 泽普县| 花莲县| 蓝山县| 永吉县| 鹤壁市| 璧山县| 辽宁省| 陇南市| 若尔盖县| 勐海县| 颍上县| 呼伦贝尔市| 廉江市| 邵武市| 高碑店市| 潮安县| 昭通市| 乐业县| 高尔夫| 抚远县| 汕头市| 兴义市| 双江| 深泽县| 松溪县| 渝北区| 弥渡县| 西藏| 兰溪市| 密山市| 凉城县| 台北市| 和政县| 鹤峰县| 乌海市| 深泽县| 湖南省| 滦平县|