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
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. –
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ąć. –
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. –