html5 red5,一个基于red5+flash的网络聊天室red5Chat
前兩天發現一個開源的基于red5+flash的聊天室軟件red5Chat,于是想搭起來玩玩,沒想到遇到一大堆問題。首先到http://www.red5chat.com/下載源碼red5chatv2.1.zip,在解壓后的目錄中有一個Install.txt文件,簡單的介紹了安裝過程。先編譯服務器端的java代碼, 建一個名為chat的java工程(注意項目名,否則需要更改相關設置),red5chatv2.1\JAVA-RED5000目錄下的源碼及配置文件copy過來,注意設置符合red5的目錄結構。編譯成功后,部署到red5/webapps中。編輯*.fla文件需要用到falsh軟件,到Adobe上去下載Adobe Flash Professional CS5.5,成功安裝后,打開red5Chat.fla,在Action窗口中根據需要修改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";
權限驗證需要php及mysql的支持,所以先不考慮。修改ip后直接發布red5/webapps/chat目錄中。在發布選項中可以勾選"html wrapper",這樣就會自動生成相應的html文件。啟動red5, 就可以到瀏覽器中輸入http://localhost:5080/chat/red5Chat.html查看效果了。
PS:1).啟動red5時遇到了如下錯誤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時,會發現右側沒有滾動條,如果顯示器比較低就無法完全顯示flash了。只需要找到html文件中的overflow:hidden,刪除掉,即可解決。增加權限驗證功能權限驗證功能需要php、mysq及Apache的支持,這個環境搭建比較麻煩,搭建好后實現起來就容易了。red5不支持php所以要使用Apache。打開red5Chat.fla中的權限驗證功能_root.authentification=true,重新發布。在mysql創建名為redtchat的數據庫,執行red5chatv2.1ddd\PHP\create_tables.sql中的sql語句,在這之前可能需要將sql語句中的關鍵字"TYPE"替換為"ENGINE",否則可能提示語法錯誤,這是mysql的版本不兼容造成的。然后打開Connections\ccon1.php文件,修改數據庫登錄信息
$hostname_con1="192.168.9.80:3306";
$database_con1="red5chat";
$username_con1="gavin";
$password_con1="123456";現在將客戶端部署到Apache中的web目錄中,默認為D:\Program Files\Apache Software Foundation\Apache2.2\htdocs。目錄結構如下:
htdocs
-red5Chat.html
-red5Chat.swf
-crossdomain.xml
-red5chat
-infouser.php
-testlogin.php
-Connections
-con1.php上面的目錄結構中,有一個名為crossdomain.xml的文件,這是用于flash的跨站訪問((關于crossdomain.xml,參考http://site.douban.com/widget/notes/1961289/note/187507426/)),內容如下:
ps:如果缺少crossdomain.xml文件可能會導致奇怪的錯誤。我在使用flash調用時,可以成功登錄聊天室,但部署到Apache中或者是copy到其它目錄中,總是提示密碼錯誤。后來想到用chrome的debug功能,于是用chrom打開red5Chat.html,打開debug窗口,在NetWork中發現無法鏈接到crossdomain.xml,這才找到了問題所在。
總結
以上是生活随笔為你收集整理的html5 red5,一个基于red5+flash的网络聊天室red5Chat的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赵小楼《天道》《遥远的救世主》深度解析(
- 下一篇: 带顶点动画的护盾效果——UnitySha