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?
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?