author:yapollo.li
mail:yapollo.li@gmail.com
msn:ok7758521ok@hotmail.com
red5是做啥用的相信百度一下全知道,但是详细的入门资料不太多哈,我最近正好有个用red5的项目,所以研究下
整理下自己的linux下的demo过程和大家分享哈,具体如下:
linux下安装过程:
所需软件
1.jdk:jdk-1_5_0_16-linux-i586.bin(我用的是这个版本,记住一定得是1.5的哈)
2.apache ant: apache-ant-1.7.1-bin.tar.gz(我用的是这个版本)
3.svn:subversion-1.3.2.tar.gz(svn的安装主要用来svn最新的red5)
4.red5
安装步骤:
1安装jdk
wget 官方网址下载jdk-1_5_0_16-linux-i586.bin
# chmod +x jdk-1_5_0_16-linux-i586.bin
# ./jdk-1_5_0_16-linux-i586.bin
java环境变量的设置
vi /etc/profile
打开文件后,按 i 键,在文件后添加:
J AVA_HOME=/usr/java/jdk1.6.0_02
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export JAVA_HOME PATH CLASSPATH
当然写好后大家要写个helloworld程序用javac编译,java测试下哈
2.安装 Apache Ant
wget http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.7.0-bin.tar.gz
tar -zxf apache-ant-1.7.0-bin.tar.gz
sudo mv apache-ant-1.7.0 /opt/ant # you don't need this
export ANT_HOME=/opt/ant
sudo ln -s /opt/ant/bin/ant /usr/bin/ant # shortcut - you sould now be able to use ant
3.安装red5
svn co http://red5.googlecode.com/svn/java/server/trunk red5
下面是编译
cd red5
/opt/ant/bin/ant prepare
/opt/ant/bin/ant dist
运行
cd dist
sh red5.sh
如果成功的话netstat -l 将会看到5080和1935端口打开哈
下面是 具体的demo应用开发拉
首先将red5目录下doc/template/myapp中的所有东东cp到dist/webapps/下新建一个myapp目录
此时该目录中有个WEB-INF/目录,我的目录如下:
-bash-3.00$ ls
classes log4j.properties red5-web.properties red5-web.xml src web.xml
一定必须是这样的结构哈
classes和src是手工创建滴
而且这两个目录的结构一定得一致哈
在src中创建my 目录然后在my目录中创健Application.java文件
package my;
import org.red5.server.adapter.ApplicationAdapter;
public class Application extends ApplicationAdapter{
public Double add(Double a,Double b){
return a+b;
}
}
然后保存编译它
javac -classpath 指定你的red.jar位置 Application.java
将生成的class文件cp到上一级的classes目中下my目录中
下面是web.xml的设置
修改webAppRootKey设置:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/myapp</param-value>
</context-param>
red5-web.xml的设置
修改web.handler设置:
<bean id="web.handler"
class="my.Application"
singleton="true" />
然后重启red5服务 ant server
flash端的测试代码:新建一个as2.0
的fla文件,然后在第一帧加入如下代码:
var nc = new NetConnection();
nc.connect("rtmp://ip地址/myapp");
nc.onResult = function(obj){
trace("This result is " +obj);
};
nc.call("add",nc,1,2);
red5的错误日志位置dist/log/error.log
如果测试不成功可以到这里找失败原因哈
我参考过的资料
http://osflash.org/red5/linux-install
http://uu9.cn/blogview.asp?logID=221
细节上有不明白的可以email to me哈