# Java Applet Chat Grundsatzfrage



## selfmadeChatter (20. Feb 2008)

Hi,

ich habe auf eurem Forum Lösungen gefunden wie man einen chat programmiert, auch die Grundlagen mit Sockets sind mir geläufig.
Ich habe nur eine Frage und es ist mir peinlich sie zu stellen, aber es muß sein.

Also ich habe ein Clientapplet und das möchte sich mit einem server das auf dem selben Webhost läuft über einen Socket verbinden. 
Wie aber starte ich den Server?
Ich habe mir folgende Lösung überlegt:

1. Client versucht sich mit Server zu verbinden
2.Client kann sich nicht mit Server verbinden da dieser nicht läuft
3. Client startet den Server
4. Alle nachfolgenden Clients benutzen die Serverinstanz die der erste Client gestartet hat

Das ist die einzige Lösung die mir einfällt..aber irgendwie habe ich dabei ein leicht mulmiges Gefühl ob dies das Gelbe aus dem Ei ist  ???:L 

gruß


----------



## Murray (20. Feb 2008)

Das Client-Applet (das ja in einer VM auf dem Client läuft) hat von sich aus eigentlich keine Möglichkeit, den Server zu starten.


----------



## selfmadeChatter (20. Feb 2008)

> Das Client-Applet (das ja in einer VM auf dem Client läuft) hat von sich aus eigentlich keine Möglichkeit, den Server zu starten.


Klingt logisch, mensch ich muß mein Hirn einschalten   
Aber wie dann sonst? Ich bin halt Javaanwendungsprogrammierer habe aber mit Applets keine Erfahrung. 
Also auf dem Server liegt das ClientApplet und die ServerKlasse. Aber irgendwie muß man doch die Serverklasse starten..auf dem Server ist auch kein Webcontainer installiert. Ich bitte um einen Hinweis..irgendwie stehe ich im Moment total auf dem Schlauch...

Gruß


----------



## Murray (20. Feb 2008)

Die Server-Klasse muss in einer VM auf dem Server laufen - sinnvoll wäre es vielleicht, wenn diese VM zusammen mit dem Web-Server gestartet würde. Was ist denn das für ein Web-Server? 
Dient der Web-Server nur dazu, das Client-Applet zu liefern, oder macht der noch mehr? Vielleicht kann man ja einen Java-Web-Server verwenden und den zusammen mit der Server-Klasse in der gleichen VM laufen lassen.


----------



## selfmadeChatter (20. Feb 2008)

Hi,

also da ich kein Java auf dem Server habe sprich JDK,Tomcat etc. muß ich den Server in PHP oder Perl schreiben..das habe ich auf dem Server.

Also meine Grundannahme war, dass die ClientApplets mit dem ServerApplet über Sockets kommunzieren. 
Ich bin davon ausgegangen dass beispielsweise der erste chatteilnehmer den server startet..sprich clientapplet1 und server laufen in vm1 und die nächsten clients laufen natürlich in ihren eigenen VMs aber können über den selben PORT mit dem Server aus vm1 kommunizieren. Liege ich hier falsch?  Wenn meine Annahme falsch ist bleibt mir nur der erste Weg.

Gruß


----------



## Wildcard (20. Feb 2008)

Wie funktioniert ein Applet?
Der Client lädt eine .class/.jar vom Server runter und der Browser führt sie in der VM aus.
Der Server ist nur für den Download zuständig, dann hat's sich's aber auch schon.


----------



## selfmadeChatter (20. Feb 2008)

Ja Wildcard du hast recht.
Falsche Annahme von mir.
Den Server schreibe ich mit PERL oder PHP.
Der Thread ist abgehakt.

Danke für eure Zeit

Gruß


----------

