隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          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] 閱讀(898) 評論(0)  編輯  收藏 所屬分類: FMS
          主站蜘蛛池模板: 峨边| 壤塘县| 嘉兴市| 金山区| 华容县| 茌平县| 诏安县| 神农架林区| 夏邑县| 博白县| 祁门县| 二连浩特市| 龙井市| 崇文区| 衡阳县| 霍林郭勒市| 姚安县| 石台县| 澎湖县| 美姑县| 普洱| 安吉县| 仁布县| 澜沧| 松原市| 汉川市| 合川市| 陇西县| 嘉峪关市| 杨浦区| 无为县| 丰城市| 宝丰县| 镇雄县| 南充市| 中牟县| 瑞安市| 红桥区| 察哈| 仁怀市| 海安县|