一个基于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: Error
loading class [chat.Application] for bean with name 'web.handler' defined in Se
rvletContext resource [/WEB-INF/red5-web.xml]: problem with class file or depend
ent class; nested exception is java.lang.UnsupportedClassVersionError: chat/Appl
ication : Unsupported major.minor version 51.0
Caused by: java.lang.UnsupportedClassVersionError: chat/Application : Unsupporte
d major.minor version 51.0
    googleb了一翻,原来是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/)),内容如下:
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

ps:如果缺少crossdomain.xml文件可能会导致奇怪的错误。我在使用flash调用时,可以成功登录聊天室,但部署到Apache中或者是copy到其它目录中,总是提示密码错误。后来想到用chrome的debug功能,于是用chrom打开red5Chat.html,打开debug窗口,在NetWork中发现无法链接到crossdomain.xml,这才找到了问题所在。        
    

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值