Problem mit CometEvent von Tomcat

orlin

Mitglied
hallo Entwickler

ich versuche ein einfaches Server-Client(j2me Midlet) Programm zu schreiben mit die CometEvent von Tomcat arbeitet. Der Client baut eine Verbing zum Server der ein BEGIN auf dem Server auslöst. Im Begin Event wir ein Thread erzeugt. dann sendet der Client ein String. Auf dem Server wird ein READ event ausgelöst. Der String wird gelesen dann wird der Thread gestartet, der alle x Sekunden eine Nachrichten an den Client schickt.
Ich möchte die Verbingug offenhalten. Das soll BEGIN Event wird beim Verbindungsaufgsbau augelöst und der Client sendet nur einmal eine Nachricht.
um das READ Event auszulösen und den Thread zu starten der ständig Nachrichten schickt.

Der Client bleibt beim Erzeugen des Inputstream stecken
Code:
try{
           is= hc.OpenInputStream(); 
} catch(IOException e)
.
.
}
Er kommt erst raus wenn SetTimeout() auf dem Server abgelaufen ist.
dann bekommt er alles auf einmal und auf dem Server wird ein Error Event ausgelöst der die Verbindung beendet

Falls jemand eine Idee hat oder Tipps, wurde ich mich auf die Antwort freuen:)
Danke
 
Hallo,

hier:
http://weblogs.java.net/blog/jfarcand/archive/2006/10/writting_a_come.html
gibts ein kleines Tutorial wie man einen Chat mit Server Push via Comet schreibt.

bei der 6er Version des Tomcats ist ein Beispiel zu einem (ServerPush via) Comet basiertem Chat System dabei.
http://tomcat.apache.org/download-60.cgi

Um Comet in Tomcat 6 verwenden zu können muss man erst den entsprechenden NIO basierten HTTP Connector konfigurieren:
In der Server.xml:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

Auskommentieren und diesen Eintrag hinzufügen:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />

Mehr dazu unter:
http://tomcat.apache.org/tomcat-6.0-doc/aio.html
http://www.mail-archive.com/users@tomcat.apache.org/msg49759.html

Das Beispiel findet man unter:
http://localhost:8080/examples/jsp/chat/login.jsp

Leider funktioniert das Chat Beispiel nicht, trotzdem kann man sich grob am Code orientieren.

Gruß Tom
 
hallo Tom

ich danke für deine Antwort.

ich habe alles propiert, ich have auch unter JBOSS im Server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
eingefugt.
Das Beispiel unter http://tomcat.apache.org/tomcat-6.0-doc/aio.html habe auch genommen und angepasst aber mein Client scheitert immer wenn er an InputSrream() kommt. Er wird blockiert bis das SetTimeout auf dem Server abgelaufen ist.

danke
 
Zurück