<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 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
    主站蜘蛛池模板: 亚洲а∨天堂久久精品| 欧美a级成人网站免费| 久久久久国产亚洲AV麻豆| 97性无码区免费| 亚洲色欲或者高潮影院| 免费在线观看一区| 91精品视频在线免费观看| 亚洲五月六月丁香激情| 麻豆安全免费网址入口| 国产精品视频免费| 亚洲AV成人噜噜无码网站| 在线精品免费视频| 亚洲色偷偷av男人的天堂| 亚洲精品国产免费| 亚洲阿v天堂在线| 337P日本欧洲亚洲大胆精品| 国产一区二区三区无码免费| 成人亚洲国产va天堂| 美丽的姑娘免费观看在线播放| 亚洲日韩乱码中文无码蜜桃臀| 1000部拍拍拍18勿入免费凤凰福利 | 永久在线免费观看| 亚洲精品午夜国产va久久| 最好免费观看韩国+日本| 人妻仑刮八A级毛片免费看| 怡红院亚洲怡红院首页| 亚洲第一se情网站| 亚洲乱码无码永久不卡在线| 日韩精品内射视频免费观看 | 亚洲欧美熟妇综合久久久久| 国产免费观看黄AV片| a级片免费观看视频| 亚洲午夜电影在线观看| 四虎永久在线精品免费观看地址 | 99久9在线|免费| 亚洲日韩精品无码AV海量| 久久精品国产精品亚洲| 亚洲精品视频在线免费| 一区二区三区免费在线视频 | 亚洲码欧美码一区二区三区| 国产亚洲AV夜间福利香蕉149|