Red5的。我的项目没有范围

时间:2012-07-26 08:35:49

标签: scope red5

我无法使用Red5服务器创建我的应用程序。我有一个错误

NetConnection.Connect.Rejected: No scope 'TestEcho' on this server.
NetConnection.Connect.Closed

我做了一些像ping应用程序来测试一切正常。我的班级看起来像这样:

 package org.red5.core;

import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.service.ServiceUtils;

public class Application extends ApplicationAdapter {

    public void appDisconnect(IConnection conn)
    {
        super.appDisconnect(conn);
    }


    public boolean appStart()
    {
        return true;
    }


    public void appStop()
    {}


    public boolean appConnect(IConnection conn, Object[] params)
    {
        return true;
    }


    public Object echo(Object p)
    {
        return p;
    }

}

我还有red5-web.xml和red5-web.properties

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

    <!--
    Defines a properties file for dereferencing variables
    -->
    <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="/WEB-INF/red5-web.properties" />
    </bean>

    <!--
    Defines the web context
    -->
    <bean id="web.context" class="org.red5.server.Context" 
        autowire="byType" />

    <!--
    Defines the web scopes
    -->
    <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>

    <!--
    Defines the web handler which acts as an applications endpoint
    -->
    <bean id="web.handler" 
        class="org.red5.core.Application" 
        singleton="true" />

</beans>

webapp.contextPath=/TestEcho
webapp.virtualHosts=127.0.0.1

所以,这很奇怪但是在echo-demo应用程序中我无法连接到rtmp:// localhost:1935 / TestEcho 我想注意演示应用程序运行良好,例如,oflaDemo。问题在哪里?....

5 个答案:

答案 0 :(得分:3)

你使用哪个版本? 如果你使用red5 1.0,请使用

<bean id="web.scope" class="org.red5.server.scope.WebScope" init-method="register"> 

而不是

<bean id="web.scope" class="org.red5.server.WebScope" init-method="register">

答案 1 :(得分:1)

检查以下内容

  • 在webapp文件夹中检查您的文件夹名称。它应该是“TestEcho”
  • 检查web.xml文件中的webAppRootKey
  • 在red5 conf文件夹的logback.xml中启用调试。开始时检查您的日志。

参考:https://github.com/arulrajnet/red5Demo/wiki/Different-context-name

答案 2 :(得分:1)

我是Red5的重要人物。我也遇到了同样的问题。在搜索了很多论坛后,我已经弄明白了。在我的搜索过程中,我也完成了您的查询。所以我认为如果我在这里发布解决方案会有所帮助。

问题在于有重复的red5.jar文件。在我的场景中,我在RED5_HOME中有一个jar文件,另一个在myapp / WEB-INF / lib文件夹中。我们不应该有两个Red5.jar文件。 red5.jar必须位于RED5_HOME目录中。所以我从myapp / WEB-INF / lib文件夹中删除了包括red5.jar在内的所有jar文件。它解决了我的问题。

答案 3 :(得分:0)

我遇到了同样的问题,这是virtualHost名称的配置问题。

我修改后将red5-web.propertieswebapp.virtualHosts=localhost更改为webapp.virtualHosts=*

希望有所帮助

答案 4 :(得分:0)

检查一些非常简单的东西 - 如果你在Windows上 - red5安装并默认启动服务。然后你可能已经手动复制了另一个版本的red5--你用它来进行开发。这就是我发生的事情 - 有一个Windows服务 - 运行red5 - 很久就被遗忘了。而我实际上正在运行另一个版本的red5来构建我的文件系统。