0

我无法使用 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。问题出在哪里?....

4

5 回答 5

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">
于 2012-08-20T02:29:53.720 回答
1

检查以下内容

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

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

于 2012-09-18T12:11:13.937 回答
1

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

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

于 2012-10-05T11:55:47.140 回答
0

我只是遇到了同样的问题,这是虚拟主机名称的配置问题。

red5-web.properties我通过从更改webapp.virtualHosts=localhost为修复webapp.virtualHosts=*

希望能帮助到你

于 2012-11-11T08:05:14.820 回答
0

检查一些非常简单的事情——如果你在 Windows 上——red5 默认安装并启动一个服务。然后,您可能手动复制了另一个版本的 red5 - 您用于开发。这就是发生在我身上的事情——有一个 Windows 服务——运行 red5——早就被遗忘了。而我实际上是在我的文件系统中运行另一个版本的 red5。

于 2013-01-17T21:59:36.373 回答