# Browser-Client von Server aus ansprechen



## JanHH (1. Aug 2010)

Hallo,

normalerweise ist es ja so: Der Server wartet passiv, bis der Client einen Request sendet, und schickt dann eine Antwort zurück.

Ich habe jetzt bei einer Webanwendung den umgekehrten Fall: Eine Reihe von Clients (Browsern) soll in einem Wartezustand verharren, bis der Server sie von sich aus anspricht und eine bestimmte Aktion startet.

Wie kann man sowas machen? Mit normalen HTML-Möglichkeiten vermutlich gar nicht, oder? Weil das ganze System auf Requests vom Client und Antwort des Servers basiert. Die Möglichkeit, dass der Server "eigeninitiativlich" die Clients anspricht, ist nicht vorgesehen.

Wie kann man das also machen? Mir fallen spontan ein:

- eine javascript-Endlosschleife im Browser, die in regelmässigen Abständen einen Request abschickt, auf den der Server ggf. antworten kann, also eine vage Simulation der eigentlichen Anforderung

- ein im Browser laufendens signiertes java-Applet, welches einen Server-Socket öffnet, mit dem sich der Server dann verbinden und den Client auf diese Art aktivieren kann.

Die zweite Möglichkeit kommt mir wesentlich besser vor.

Was gibts da noch für Möglichkeiten?

Gruß+Danke
Jan


----------



## Noctarius (1. Aug 2010)

Normal nutzt mal sogenanntes Long-Polling dafür. Such mal nach Cometd, damit lässt sich das wunderbar machen.


----------



## JanHH (1. Aug 2010)

Das klingt interessant, sagt mir aber leider gar nichts. Mag jemand noch ein bisschen was dazu erklären?


----------



## XHelp (1. Aug 2010)

Google ist eigentlich immer gesprächig 
CometD Documentation | cometd.org


----------



## JanHH (2. Aug 2010)

Ja danke, da wär ich selber nicht drauf gekommen. ist nur bissi witzlos wenn man gar nich weiss, was sich dahinter verbirgt . Dachte ein paar kurze erklärende Sätze wären hilfreich und nicht zuviel verlangt.


----------



## XHelp (2. Aug 2010)

War auch nicht böse gemeint. Wenn ich mich da sehr auskennen würde, würde ich auch bestimmt was dazu erwähnen. Aber ich bin der Meinung, dass man den Einstieg selber durch lesen leicht findet.


----------



## JanHH (2. Aug 2010)

ich werd mich bemühen.


----------



## Noctarius (2. Aug 2010)

Asynchronous HTTP and Comet architectures - JavaWorld

PS: Cometd arbeitet in Java super mit Jetty 7 zusammen (und besser Cometd 2 benutzen )


----------

