2012-11-08 11 views
5

Sto tentando di eseguire un'applicazione di base su Red5 che fa appena un tentativo di connettersi al server red5 (su localhost). La fonte di questa applicazione è la seguente:L'applicazione Red5 non riesce a connettersi

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); 
    } 

} 

Anche il mio codice cliente è piuttosto semplice. Per brevità, lo snippet è qui sotto:

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"); 
      } 

Nota che faccio la finestra di avviso mostrano il codice di errore in modo da poter vedere cosa succede.

Sul lato client, quando tento di collegarmi, ottengo due messaggi di errore:

riuscita connessione NetConnection.Connect.Closed riuscita connessione NetConnection.Connect.Rejected

E su il lato server che sto vedendo il seguente:

[INFO] [NioProcessor-10] org.red5.server. net.rtmp.codec.RTMPProtocolDecoder - Azione collegare

[INFO] [NioProcessor-10] org.red5.server.net.rtmp.RTMPConnection - Impostazione codifica oggetto di AMF3

[INFO] [NioProcessor- 10] org.red5.server.net.rtmp.RTMPHandler - Ambito Player non trovato su localhost

[WARN] [Red5_Scheduler_Worker-3] org.red5.server.net.rtmp.RTMPConnection - Chiusura RTMPMinaConnection da 127.0.0.1: 50051 a localhost (in: 3334 out 3256), con ID 9 a causa della stretta di mano lunga

Sembra chiaro che qualcosa non va a causa di una sorta di errata configurazione. Sfortunatamente, non ho idea di dove cercare il problema.

Qualcuno potrebbe, per favore, dare un'idea di cosa sta andando male e come posso risolvere questo problema? Grazie ...

AGGIUNTA: eccezione di avvio che si verifica durante l'esecuzione di 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 

risposta

0

quale versione di Red5 è quello?
Ci sono delle eccezioni quando si avvia la webapp personalizzata? Potrebbe esserci già un errore nell'avvio del server che di conseguenza porta al tuo problema.

Sebastian

+0

La versione è 1.0 RC2. E a quanto pare c'è un'eccezione generata all'avvio. Non riesco a mettere lo stack di eccezioni completo in questa sezione di commenti, ma aggiungerò la traccia dello stack alla mia domanda originale. –

+0

java.lang.ClassNotFoundException: org.red5.server.WebScope L'errore è nella tua webapp. In qualche modo sembri definire una relazione con org.red5.server.WebScope. Questa classe non esiste in red5-RC2. Forse hai copiato il tuo codice di esempio da una vecchia webapp. Potresti semplicemente controllare le ultime applicazioni Demo per ottenere un campione funzionante e aggiornato con cui iniziare. –

+1

In realtà, no, ho trovato il problema. Non è con la mia webapp, è con il plugin red5. Il plugin non viene aggiornato per riflettere le modifiche apportate in RC2. Tutto il mio codice corrente, inclusa la webapp, è stato generato dal plugin Red5. È tutto un codice piuttosto semplice; Non l'ho alterato in alcun modo una volta che il plugin Red5 lo ha generato. Ho semplicemente tentato di compilare ed eseguire il codice lato server e connettermi usando il codice client. Sfortunatamente ci sono errori nel codice generato dal plugin. Ci sono file di classe che sono stati spostati in RC2 che non si riflettono correttamente nel plugin. Maggiori informazioni su questo sotto. –

1

Un altro fatto potrebbe essere che u avere 2 Red5.jars così u necessario eliminare uno. Nel mio caso ha funzionato bene. Big Ty per questo post

0

L'ambito dell'applicazione che si sta tentando di connettersi a "Player" non esiste sul server; il registro lo rileva come "Scope Player non trovato su localhost". Ciò significa in generale che l'applicazione non è stata caricata. Il motivo per cui non è stato caricato sembra un errore del pacchetto classe per WebScope. Modificare l'attributo della classe bean su org.red5.server.scope.WebScope e riprovare.

1

Modificare org.red5.server.WebScope a org.red5.server.scope.WebScope nel file red5-web.xml.

Problemi correlati