Windows环境下+配置+运行red5源码

Red5发展很快,目前最新版本为0.9.1,与以前的版本(0.8.+、0.7.+、0.6.+)差别很大,中文资料奇缺,鉴于此,我写下这篇文章,希望能帮上您的忙。

由于没有下载到0.9.1的源码,我们现在以red5 0.9.0为例介绍如何配置、编译、运行Red5源码。Red5 0.9.0与red5 0.9.1差不多,你可以用本文所介绍的方式来配置red5 0.9.1。

1.打开red5 0.9.0的下载页面:http://red5.org/wiki/0_9_0

如下图所示:

我们点击“Windows”和”Source”两个链接来下载red5的安装包和red5的源码,我们下载安装包的目的是它包括了所有red5源码所依赖的jar包,这样很方便我们的配置。

2.下载完成之后,首先安装setup-Red5-0.9.0.exe,在安装过程中,如果提示你输入ip地址,则输入0.0.0.0,这样可以允许来自任何域的访问,如果提示输入端口,则输入8000,那么我们的web服务器将会绑定8000端口。

3.打开eclipse java开发环境,如果没有,则到http://eclipse.org/downloads/下载Eclipse IDE for Java Developers,将下载后的压缩包解压到本机你喜欢的地方,然后双击eclipse.exe,如果不能运行,说明你需要一个jdk,就到http://java.sun.com/javase/downloads/widget/jdk6.jsp下载一个适合你的操作系统的jdk,安装jdk之后,eclipse就可以运行了,打开eclipse开发 环境之后,选择一个你喜欢的工作空间。

4.新建一个Java Project,如下图所示:

5.在新建工程对话框中输入Red5,点击“Finish”按钮则新建一个名为Red5的java工程,如下图所示:

6.将red5安装目录下的所有文件夹拷贝到Red5工程根目录下,操作之后的Red5工程目录结构如下:

7.将下载的red5源文件解压并将org文件夹拷贝到我们的Red5工程的src目录下,操作之后的项目结构图如下所示:

8.这时我们看到工程中有些错误,说明缺少依赖的库,此时我们把lib文件夹中的所有jar文件添加构建路径中,操作如下图 所示:

此时我们可以看到,工程中不再提示错误。

9.我们找到org.red5.server.Bootstrap类,双击Bootstrap.java文件打开此类,按F11运行此工程。当你看到如下输出信息时,说明Red5服务器启动完成。

10.打开浏览器,在地址栏中输入http://localhost:8000,回车,如果你看到如下界面,说明你的Red5已经正在良好的运行。

11.接下来我们安装一个程序来测试一下,访问http://localhost:8000,点击“Install”链接,或者直接 在访问http://localhost:8000/installer/,则进入如下界面:

12.我们选择SOSample,点击“Install”按键安装它,等待安装完成,提示如下:

13.访问http://localhost:8000/,点击“Launch a demo”链接,或者直接访问http://localhost:8000/demos/进入如下界面:

14.在Shared Ball栏目下,我们点击“View demo”进入如下界面:

我们用此地址复制,多打开几个浏览器窗口,如下图所示:

将它们一一连接到red5服务器,尝试拖动Red5的图标,我们可以看到每个客户端的red5图标都被拖动。

15.下面我们一起来制作一个as3与red5通信的例子。

回到eclipse,在webapps目录下新建一个testred5目录,并将webapps里面的SOSample目录中所有内容拷贝到testred5目录中(如果看不见SOSample目录,请刷新一下webapps目录)。

16.在testred5目录下新建一个src目录,并将此目录做为源文件目录,操作如下图所示:

17.打开项目的属性面板,操作如下图所示:

选择Java Build Path,在Java Build Path面板中选择Source选择卡,然后我们将Default output folder指向到Red5/webapps/testred5/WEB-INF/classes 目录,你可以通过浏览来选择此目录,也可以直接在输入框中输入“Red5/webapps/testred5/WEB-INF/classes”。如下图所示:

点击“OK”关闭此面板。

18.我们在webapps/testred5/src源文件夹下建立一个Java类叫MainApp,此时项目结构图如下所示:

19.在MainApp类中输入如下代码:

[java] view plaincopyprint?
  1. import org.red5.server.adapter.ApplicationAdapter;
  2. public class MainApp extends ApplicationAdapter{
  3. public String getValue(){
  4. return "Hello world";
  5. }
  6. }

import org.red5.server.adapter.ApplicationAdapter; public class MainApp extends ApplicationAdapter{ public String getValue(){ return "Hello world"; } }

20.分别修改webapps/testred5/WEB-INF目录下的文件 web.xml、red5-web.xml、red5-web.properties 如下:

web.xml:

[java] view plaincopyprint?
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <web-app
  3. xmlns="http://java.sun.com/xml/ns/j2ee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  6. version="2.4">
  7. <display-name>testred5</display-name>
  8. <context-param>
  9. <param-name>webAppRootKey</param-name>
  10. <param-value>/testred5</param-value>
  11. </context-param>
  12. </web-app>

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>testred5</display-name> <context-param> <param-name>webAppRootKey</param-name> <param-value>/testred5</param-value> </context-param> </web-app>

red5-web.xml:

[java] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
  3. <beans>
  4. <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  5. <property name="location" value="/WEB-INF/red5-web.properties" />
  6. </bean>
  7. <bean id="web.context" class="org.red5.server.Context"
  8. autowire="byType" />
  9. <bean id="web.scope" class="org.red5.server.WebScope"
  10. init-method="register">
  11. <property name="server" ref="red5.server" />
  12. <property name="parent" ref="global.scope" />
  13. <property name="context" ref="web.context" />
  14. <property name="handler" ref="web.handler" />
  15. <property name="contextPath" value="${webapp.contextPath}" />
  16. <property name="virtualHosts" value="${webapp.virtualHosts}" />
  17. </bean>
  18. <bean id="web.handler"
  19. class="MainApp"
  20. singleton="true" />
  21. </beans>

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="/WEB-INF/red5-web.properties" /> </bean> <bean id="web.context" class="org.red5.server.Context" autowire="byType" /> <bean id="web.scope" class="org.red5.server.WebScope" init-method="register"> <property name="server" ref="red5.server" /> <property name="parent" ref="global.scope" /> <property name="context" ref="web.context" /> <property name="handler" ref="web.handler" /> <property name="contextPath" value="${webapp.contextPath}" /> <property name="virtualHosts" value="${webapp.virtualHosts}" /> </bean> <bean id="web.handler" class="MainApp" singleton="true" /> </beans>

red5-web.properties:

[java] view plaincopyprint?
  1. webapp.contextPath=/testred5
  2. webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088

webapp.contextPath=/testred5 webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088

21.保存所有工程,按F11启动red5服务器。

22.打开FlashBuilder,创建一个名为Testred5client的ActionScript 项目,在生成的主文件中输入以下代码:

[java] view plaincopyprint?
  1. package
  2. {
  3. import flash.display.Sprite;
  4. import flash.events.NetStatusEvent;
  5. import flash.net.NetConnection;
  6. import flash.net.Responder;
  7. public class Testred5client extends Sprite
  8. {
  9. private var _nc:NetConnection;
  10. public function Testred5client()
  11. {
  12. _nc=new NetConnection;
  13. _nc.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
  14. _nc.connect("rtmp://localhost/testred5");
  15. }
  16. private function netStatusHandler(event:NetStatusEvent):void{
  17. switch(event.info.code){
  18. case "NetConnection.Connect.Success":
  19. _nc.call("getValue",new Responder(result));
  20. break;
  21. }
  22. }
  23. private function result(obj:Object):void{
  24. trace(obj);
  25. }
  26. }
  27. }

package { import flash.display.Sprite; import flash.events.NetStatusEvent; import flash.net.NetConnection; import flash.net.Responder; public class Testred5client extends Sprite { private var _nc:NetConnection; public function Testred5client() { _nc=new NetConnection; _nc.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler); _nc.connect("rtmp://localhost/testred5"); } private function netStatusHandler(event:NetStatusEvent):void{ switch(event.info.code){ case "NetConnection.Connect.Success": _nc.call("getValue",new Responder(result)); break; } } private function result(obj:Object):void{ trace(obj); } } }

23.按F11运行此代码,如果你看到输出面板中输出了Hello world,如下图所示,则说明你成功了。

以上是从网上找到的比较全的资料了,在我配置和调试的过程中有以下几点问题:

一 装的flash debugger插件有问题,导致AS无法正常执行。在写AS端是要确保正确安装debugger插件,我安装的是版本10不是11

二 己建目录的时候,客户端连服务端一直报错。

NetConnection.Connect.InvalidApp

NetConnection.Connect.Closed 。

原因如下:

1,要把lib下的包,加入当前工程的classpath里面去。

2,不能把jar报拷贝到当前工程下。一定要选择 Add External JARs.把路径指为,Red5/lib/下的jar和red5.jar.

转自 :http://blog.csdn.net/liuchangqing123/article/details/6965663

Red5 9的安装配置以及AS3连接red5简单示例 .相关推荐

  1. MySQL8.0.20安装配置+用Navicat连接详细教程(win10,Navicat15)

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  2. Confluence 6 新 Confluence 安装配置一个数据源连接

    如果在你的 Tomcat 中配置了数据源,并且Confluence 设置指南在安装的时候检测到这个配置的时候,配置数据源的选项将会提供给你进行配置.入股你希望使用数据源,请参考下面的配置. 1. 停止 ...

  3. Alchemy安装配置 FLASH AS3炼金术

    安装前注意事项: 1) 如果你的机子装的不是flash player 10, 那么请删除它装上10的版本, 这是必须的. 开发者请安装flash cs4 2) 如果你的机子装的不是flex sdk 3 ...

  4. MongoDB安装/配置和navicat12连接

    1.安装 链接:https://pan.baidu.com/s/1eMBcbBc-vPk5W00ljGVEIA 提取码:7t6s 版本号:4.2.3 (按照图片顺序来) 其余的步骤按照正常的来 这个是 ...

  5. red5下nginx安装配置

    http://zfl110.iteye.com/blog/1155149 原址:http://lqw.iteye.com/blog/652763  安装Nginx 1.首先安装pcre-8.02.ta ...

  6. Ubuntu20.04系统中安装配置adb,连接华为手机

    今天因为工作需要用ubuntu20.04系统连接adb进行相关操作,此处简单记一下相关操作步骤和细节,供大家参考: 1.首先usb数据线连接手机至ubuntu20.04所在硬件设备(笔者此处为台式机) ...

  7. 用yum安装配置搭建lamp环境--超简单!

    一.安装基本组件 [root@ser1 ~]# yum install -y php php-mysql httpd mysql mysql-server 二.修改apache的配置文件,让其支持ph ...

  8. mysql c库 示例_选择MySQL数据库进行连接的简单示例

    一旦获得MySQL服务器的连接,需要选择一个特定的数据库工作.这是因为MySQL服务器可能有一个以上的数据库. 从命令提示符,选择MySQL数据库: 这是很简单的选择一个特定的数据库mysql> ...

  9. 支付宝接口学习踩坑记(2)——基于SpringBoot的Alipay-EasySDK配置及网页支付接口简单示例

    Alipay-EasySDK从配置到撒钱 添加SDK依赖 Maven Gradle 配置SDK 准备材料 代码配置 编写代码,准备撒钱 后台逻辑代码 前端调用代码 撒钱开始 打开页面 电脑支付网页 P ...

最新文章

  1. python跳出if条件_python的if条件判断
  2. VC6.0使用中遇到的一些问题
  3. 【TDS学习文档4】IBM Directory schema的管理2——object class
  4. 1到100的素数(java)
  5. servlet实现文件上传,预览,下载和删除
  6. 1.6 编程基础之一维数组 11 大整数减法
  7. 蓝桥杯2020年第十一届C/C++省赛B组第二题-既约分数
  8. DCEP | 农行将上线数字人民币刷脸支付
  9. 通信系统中各网络设备时间同步要求
  10. SuperMap iDesktop入门实战-张杰-专题视频课程
  11. ubuntu18.04安装VMware Tools教程(附图)
  12. 介绍10个免费、强大的PHP编辑器/开发工具
  13. idea Lombok插件下载
  14. express 是什么
  15. 网页中审查元素与查看网页源代码的区别
  16. [Java] 类和对象(简介,封装,内存机制,构造方法)
  17. emac 64位 for windows下载
  18. 应用服务Application Services
  19. 正弦波产生电路_文氏桥振荡
  20. php的框架修改建议,thinkphp 框架适配修改

热门文章

  1. SQL Server中的执行计划
  2. sql活动监视器 死锁_使用system_health扩展事件监视SQL Server死锁
  3. sql计数_SQL计数区分功能概述
  4. .NET防止重复提交
  5. python 空值(NoneType)
  6. 顺序表应用2:多余元素删除之建表算法(SDUT 3325)
  7. linux运维、架构之路-nfs网络文件系统
  8. 如何暴露内网主机到外网
  9. POJ - 3624 Charm Bracelet
  10. JAVA面向对象初步知识总结:封装、继承、多态