Chat ohne ständig laufenden Chatserver

  • Themenstarter Themenstarter Gast
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

alle Java-Applet-Chat-Lösungen, die ich bisher gesehen habe, verwenden einen ständig laufenden Chatserver im Hintergrund. Auch, wenn gerade kein Client angemeldet ist.

Daher meine Idee:

Wäre es vielleicht möglich, den Chatserver von der Appletklasse selber zu steuern?

Man legt in der Appletklasse einen static Chatserver Server an.
Außerdem zählt man in einem static int clients, wieviele Clientinstanzen es gerade gibt.

Prinzipiell läuft dann kein Server.
Wenn ein Applet erzeugt wird, überprüft es in der init(), ob es die einzige Instanz im Moment ist.
Wenn ja, dann erzeugt es eine Instanz der Chatserverklasse, startet die und setzt die static Chatserver Server-Variable.
Wenn ein Applet erzeugt wird, das nicht die erste Instanz ist, dann verwendet es den bereits gesetzen Chatserver.

In der destroy()-Methode werden die Clientinstanzen heruntergezählt.
Stellt ein Client fest, dass er der letzte war, dann beendet er den Chatserver.


Ist das möglich, oder wo ist der Fehler?
Ist das mit den Sicherheitseinschränkungen von Applets zulässig?
 
der fehler liegt darin, dass dein Applet sich zum server erklärt (oder instanz startet) und garnicht weiß, obs andere instanzen gibt, die bereits das gleich gemacht haben 😉

ohne server geht NIX!
 
ok.
heißt das, wenn ich in einer Applet-Klasse eine static-Variable habe, dass dann jede erzeugte Instanz seine eigene static-Variable hat, sie also nicht auf eine gemeinsame zugreifen können?
 
nein... ein applet läuft auf verschiedenen maschinen.... die teilen sich garnix 😉 ...
wenn ein applet selbst 2 Objekte erzeugt, dann teilen sich die beiden die statics, doch auch auf jeder maschine für sich 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben