2012-11-08 35 views
5

Próbuję uruchomić podstawową aplikację na Red5, która właśnie próbuje połączyć się z serwerem red5 (na localhost). Źródło tej aplikacji znajduje się poniżej:Aplikacja Red5 nie łączy się z

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

/** 
* Sample application that uses the client manager. 
* 
* @author The Red5 Project ([email protected]) 
*/ 
public class Application extends ApplicationAdapter { 

/** {@inheritDoc} */ 
@Override 
public boolean connect(IConnection conn, IScope scope, Object[] params) { 
    return true; 
} 

/** {@inheritDoc} */ 
@Override 
public void disconnect(IConnection conn, IScope scope) { 
    super.disconnect(conn, scope); 
    } 

} 

Kod mojego klienta również jest dość prosty. W celu zwięzłości opis znajduje się poniżej:

public function onCreationComplete(event:FlexEvent) : void { 
      // setup connection code 
      connection = new NetConnection(); 
      connection.connect("rtmp://localhost/Player"); 
      connection.addEventListener(NetStatusEvent.NET_STATUS, onConnectionNetStatus); 
      connection.client = this; 
     } 

public function onConnectionNetStatus(event:NetStatusEvent) : void { 
      // did we successfully connect 
      if(event.info.code == "NetConnection.Connect.Success") { 
       Alert.show("Successful Connection", "Information"); 
      } else { 
       Alert.show("Unsuccessful Connection "+event.info.code, "Information"); 
      } 

Pamiętaj, że pole alertu pokazuje kod błędu, aby zobaczyć, co się stanie.

Po stronie klienta, gdy próbuję się połączyć, mam dwie wiadomości awaria:

Nieudany Connection NetConnection.Connect.Closed Nieudany Connection NetConnection.Connect.Rejected

oraz na po stronie serwera widzę:

[INFO] [NioProcessor-10] org.red5.server. net.rtmp.codec.RTMPProtocolDecoder - Działanie połączenia

[INFORMACJE] [NioProcessor-10] org.red5.server.net.rtmp.RTMPConnection - kodowania obiektu Nastawa AMF3

[INFORMACJE] [NioProcessor- 10] org.red5.server.net.rtmp.RTMPHandler - Zakres Player nie znaleziono localhost

[OSTRZEGAJ] [Red5_Scheduler_Worker-3] org.red5.server.net.rtmp.RTMPConnection - Zamknięcie RTMPMinaConnection z 127.0.0.1: 50051 na localhost (w: 3334 na 3256), o id 9 ze względu na długi uścisk dłoni

Wydaje się jasne, że coś jest nie tak z powodu nieprawidłowej konfiguracji. Niestety, nie mam pojęcia, gdzie szukać problemu.

Czy ktoś mógłby podać pojęcie o tym, co dzieje się nie tak i jak mogę to naprawić? Dziękuję ...

Ponadto: startowego wyjątek, który występuje, gdy uruchomiony Red5 v1 RC2:

Exception in thread "Launcher:/Player" org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with 
name 'web.context' defined in ServletContext resource [/WEB-INF/red5-web.xml]: 
Unsatisfied dependency expressed through bean property 'clientRegistry': : Cannot find class [org.red5.server.WebScope] for bean with name 'web.scope' defined in ServletContext resource [/WEB-INF/red5-web.xml]; 
nested exception is java.lang.ClassNotFoundException: org.red5.server.WebScope; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.red5.server.WebScope] for bean with name 'web.scope' defined in ServletContext resource [/WEB-INF/red5-web.xml]; nested exception is java.lang.ClassNotFoundException: org.red5.server.WebScope 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1199) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1091) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:593) 
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.red5.server.WebScope] for bean with name 'web.scope' defined in ServletContext resource [/WEB-INF/red5-web.xml]; nested exception is java.lang.ClassNotFoundException: org.red5.server.WebScope 
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576) 
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:317) 
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:833) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1184) 
... 11 more 
Caused by: java.lang.ClassNotFoundException: org.red5.server.WebScope 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258) 
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283) 
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254) 
... 19 more 

Odpowiedz

0

jaka wersja Red5 jest?
Czy są jakieś wyjątki podczas uruchamiania niestandardowej aplikacji internetowej? Być może wystąpił już błąd podczas uruchamiania serwera, który w konsekwencji prowadzi do problemu.

Sebastian

+0

Wersja to 1.0 RC2. A jak się okazuje, podczas uruchamiania jest generowany wyjątek. Nie mogę umieścić pełnego stosu wyjątków w tej sekcji komentarzy, ale dodam ślad stosu do mojego pierwotnego pytania. –

+0

java.lang.ClassNotFoundException: org.red5.server.WebScope Błąd występuje w Twojej aplikacji webowej. Wydaje się, że w jakiś sposób definiujesz relację do org.red5.server.WebScope. Ta klasa nie istnieje w wersji red5-RC2. Może skopiowałeś swój przykładowy kod ze starej aplikacji internetowej. Możesz po prostu sprawdzić najnowsze aplikacje demonstracyjne, aby uzyskać aktualną i działającą próbkę, od której możesz zacząć. –

+1

Właściwie nie, znalazłem problem. Nie jest to z moją aplikacją webową, ale z wtyczką red5. Wtyczka nie jest aktualizowana, aby odzwierciedlać zmiany wprowadzone w RC2. Cały mój obecny kod, w tym webapp, został wygenerowany przez wtyczkę Red5. To jest całkiem niezły kod; Nie zmieniłem go w żaden sposób po wygenerowaniu wtyczki Red5. Próbowałem tylko skompilować i uruchomić kod po stronie serwera i połączyć się przy użyciu kodu klienta. Niestety są błędy w kodzie generowanym przez wtyczkę. Istnieją pliki klas przeniesione w RC2, które nie są poprawnie odzwierciedlone w wtyczce. Więcej na ten temat poniżej. –

1

Kolejnym faktem może być, że u mieć 2 Red5.jars więc u trzeba usunąć jeden. W moim przypadku zadziałało dobrze. Big Ty dla tego posta

0

Zakres aplikacji, który próbujesz połączyć z "Player", nie istnieje na serwerze; dziennik odnotowuje to jako "Nie znaleziono gracza zasięgu na localhost". Ogólnie oznacza to, że twoja aplikacja się nie załadowała. Powód, dla którego nie został załadowany, wygląda na błąd pakietu klasowego dla WebScope. Zmień atrybut klasy bean na org.red5.server.scope.WebScope i spróbuj ponownie.

1

Zmień org.red5.server.WebScope na org.red5.server.scope.WebScope w pliku red5-web.xml.