一个基于red5+flash的网络聊天室red5Chat
前两天发现一个开源的基于red5+flash的聊天室软件red5Chat,于是想搭起来玩玩,没想到遇到一大堆问题。
权限验证需要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.1dddPHPcreate_tables.sql中的sql语句,在这之前可能需要将sql语句中的关键字"TYPE"替换为"ENGINE",否则可能提示语法错误,这是mysql的版本不兼容造成的。然后打开Connectionsccon1.php文件,修改数据库登录信息
现在将客户端部署到Apache中的web目录中,默认为D:Program FilesApache Software FoundationApache2.2htdocs。 目录结构如下:
[plain]
view plain
copy
print
?
ps: 如果缺少crossdomain.xml文件可能会导致奇怪的错误。我在使用flash调用时,可以成功登录聊天室,但部署到Apache中或者是copy到其它目录中,总是提示密码错误。后来想到用chrome的debug功能,于是用chrom打开red5Chat.html,打开debug窗口,在NetWork中发现无法链接到crossdomain.xml,这才找到了问题所在。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |