html5 red5,一个基于red5+flash的网络聊天室red5Chat
前兩天發(fā)現(xiàn)一個(gè)開源的基于red5+flash的聊天室軟件red5Chat,于是想搭起來玩玩,沒想到遇到一大堆問題。首先到http://www.red5chat.com/下載源碼red5chatv2.1.zip,在解壓后的目錄中有一個(gè)Install.txt文件,簡(jiǎn)單的介紹了安裝過程。先編譯服務(wù)器端的java代碼, 建一個(gè)名為chat的java工程(注意項(xiàng)目名,否則需要更改相關(guān)設(shè)置),red5chatv2.1\JAVA-RED5000目錄下的源碼及配置文件copy過來,注意設(shè)置符合red5的目錄結(jié)構(gòu)。編譯成功后,部署到red5/webapps中。編輯*.fla文件需要用到falsh軟件,到Adobe上去下載Adobe Flash Professional CS5.5,成功安裝后,打開red5Chat.fla,在Action窗口中根據(jù)需要修改AS代碼,主要是IP,其它可以不用修改。
_root.IP = "192.168.1.80";
_root.port=1934;
_root.authentificateURL = "http://"+_root.IP+"/red5chat/testlogin.php";
_root.infoUserURL="http://"+_root.IP+"/red5chat/infouser.php";
權(quán)限驗(yàn)證需要php及mysql的支持,所以先不考慮。修改ip后直接發(fā)布red5/webapps/chat目錄中。在發(fā)布選項(xiàng)中可以勾選"html wrapper",這樣就會(huì)自動(dòng)生成相應(yīng)的html文件。啟動(dòng)red5, 就可以到瀏覽器中輸入http://localhost:5080/chat/red5Chat.html查看效果了。
PS:1).啟動(dòng)red5時(shí)遇到了如下錯(cuò)誤Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Errorloading class [chat.Application] for bean with name 'web.handler' defined in ServletContext resource [/WEB-INF/red5-web.xml]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: chat/Application : Unsupported major.minor version 51.0Caused by: java.lang.UnsupportedClassVersionError: chat/Application : Unsupported major.minor version 51.0googleb了一翻,原來是java版本問題。雖然使用了jdk1.6, 還需要在Properties->Java Compiler->Compiler compliance level中,選擇1.6版本。2).瀏覽red5Chat.html時(shí),會(huì)發(fā)現(xiàn)右側(cè)沒有滾動(dòng)條,如果顯示器比較低就無法完全顯示flash了。只需要找到html文件中的overflow:hidden,刪除掉,即可解決。增加權(quán)限驗(yàn)證功能權(quán)限驗(yàn)證功能需要php、mysq及Apache的支持,這個(gè)環(huán)境搭建比較麻煩,搭建好后實(shí)現(xiàn)起來就容易了。red5不支持php所以要使用Apache。打開red5Chat.fla中的權(quán)限驗(yàn)證功能_root.authentification=true,重新發(fā)布。在mysql創(chuàng)建名為redtchat的數(shù)據(jù)庫(kù),執(zhí)行red5chatv2.1ddd\PHP\create_tables.sql中的sql語句,在這之前可能需要將sql語句中的關(guān)鍵字"TYPE"替換為"ENGINE",否則可能提示語法錯(cuò)誤,這是mysql的版本不兼容造成的。然后打開Connections\ccon1.php文件,修改數(shù)據(jù)庫(kù)登錄信息
$hostname_con1="192.168.9.80:3306";
$database_con1="red5chat";
$username_con1="gavin";
$password_con1="123456";現(xiàn)在將客戶端部署到Apache中的web目錄中,默認(rèn)為D:\Program Files\Apache Software Foundation\Apache2.2\htdocs。目錄結(jié)構(gòu)如下:
htdocs
-red5Chat.html
-red5Chat.swf
-crossdomain.xml
-red5chat
-infouser.php
-testlogin.php
-Connections
-con1.php上面的目錄結(jié)構(gòu)中,有一個(gè)名為crossdomain.xml的文件,這是用于flash的跨站訪問((關(guān)于crossdomain.xml,參考http://site.douban.com/widget/notes/1961289/note/187507426/)),內(nèi)容如下:
ps:如果缺少crossdomain.xml文件可能會(huì)導(dǎo)致奇怪的錯(cuò)誤。我在使用flash調(diào)用時(shí),可以成功登錄聊天室,但部署到Apache中或者是copy到其它目錄中,總是提示密碼錯(cuò)誤。后來想到用chrome的debug功能,于是用chrom打開red5Chat.html,打開debug窗口,在NetWork中發(fā)現(xiàn)無法鏈接到crossdomain.xml,這才找到了問題所在。
總結(jié)
以上是生活随笔為你收集整理的html5 red5,一个基于red5+flash的网络聊天室red5Chat的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赵小楼《天道》《遥远的救世主》深度解析(
- 下一篇: 带顶点动画的护盾效果——UnitySha