# einfaches hin und her von Text über Server



## vinno (29. Nov 2015)

Hey,
ich möchte für die Schule ein kleinen Chat programmieren. Bis jetzt mache ich das über eine Textdatei, in die Java Nachrichten hinnein schreibt. Also total unsicher. Nun möchte ich dies über einen Server machen. Dazu soll der Nutzer einen Text zum Server senden und dieser Server soll den Text zu manchen Nutzern zurücksenden. Zu welchen Nutzern wird in der Nachricht genannt. Bsp:
Nutzer1 sendet "/Nutzer2 Hallo"
Server soll "Hallo" an Nutzer1 und Nutzer2 senden

Außerdem: Wie starte ich diesen Server nun und wo? Weis jemand einen kostenlosen Anbieter, der solche Server laufen lässt?


----------



## Joose (30. Nov 2015)

Jeder Anbieter von (Virtual) Servern ist da theoretisch richtig.
Darauf läuft auch nur eine Java Anwendung welche bestimmte Ports abhorcht und je nach Input etwas macht.

Fange am besten klein und schreib dir mal lokal 2 Anwendungen die mit Hilfe von Sockets kommunizieren.
Wenn das klappt kannst du die Serveranwendung auch auf einen anderen PC laufen lassen (da muss man halt dann wegen Netzwerk, Firewall und Port aufpassen)


----------



## Major_Sauce (30. Nov 2015)

Naja, erstmal ganz einfach:

Du machst einen Server mit einem ServerSocket und mehrere Clients mit einem Socket.
Der Client verbindet auf dem Server, dort speicherst du die Clients in einem Array oder einer List, o.ä.
Nun brauchst du nur noch einen Reader und einen Writer für den In- und Outputstram des Clients (Wenn der Client connected, hast du den am server in Form eines "Sockets" vorliegen, dieser besitze einen in- und outputstream, musst nur mal nach dem Getter schauen.)
Da wartest du dann einfach mit dem Reader auf input vom client, verarbeitest das und schickst das mit dem writer an andere clients (Writer.flush() nicht vergessen!)

mfg Major


----------

