# Adressen vergeben



## mastercoll5 (11. Mai 2014)

Ich habe versucht einen Client und einen Server zu machen.
Der Client soll einen Text zum Server sender, der dann den Text an alle Clients schickt.

Das Funktioniert bereits auch, jedoch nicht wenn mehrere Client da sind.

Ich habe beim Client ein ServerSocket gemacht mit einem festen Port, damit der Client das Signal wieder aufnehmen kann. Wenn ein neuer Client geöffnet wird steht dort, dass die Adresse bereits vergeben ist (ich denke weil es der selbe Port ist).

Kann ich irgendwie prüfen ob der Port schon besetzt ist und dann den nächsten aufnehmen
Oder wie soll ich das machen?


----------



## JavaMeister (11. Mai 2014)

Und wie teilst du dann den Clients den neuen Port mit?


----------



## mastercoll5 (11. Mai 2014)

Da ist ja mein Problem, ich weiß nicht wie ich das machen soll


----------



## JavaMeister (11. Mai 2014)

Denkst du, dass das vorgehen mit den neuen Port korrekt ist? In anbetracht der Tatsache, dass ein Webserver zum Beispiel es immer schafft den gleichen Port für mehrere Clients zu verwenden? ;D


----------



## kaoZ (11. Mai 2014)

Wie JavaMeister schon sagt, dein Denkansatz ist inkorrekt, der Server "läuft" bzw. ist immer auf dem Ihm zugewiesenen Port für Clients erreichbar, anders würde das Ganze auch null Sinn machen.

Hier kommt das Stichwort *Threads* ins Spiel, welche sich um die annahme / Verarbeitung mehrerer Clients kümmern.


----------



## mastercoll5 (12. Mai 2014)

Mein Problem ist, dass ich nicht weiß wie ich was vom Server an die Clients schicke.


----------



## JavaMeister (12. Mai 2014)

google kaputt?


----------



## mastercoll5 (13. Mai 2014)

Ich habe ein kleines Problem

Zum Senden benutze ich den PrintWriter


```
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
```

Und zum Einlesen am Server den Scanner


```
Scanner in = new Scanner(s.getInputStream())
```

Wenn ich z.B. _Test_ abschicke, kommt _¬í test_ an, kennt jemand da eine Lösung?


----------



## mastercoll5 (13. Mai 2014)

Ehmm schon gut, sry ich kann den Beitrag nichtmehr ändern ;D

Aber ich habe noch eine Frage:


Welche IP muss ich nehmen, wenn der Server auf einen anderen im selben Netzwerk ist?

Wäre das diese hier?:


----------



## kaoZ (13. Mai 2014)

> Welche IP muss ich nehmen, wenn der Server auf einen anderen im selben Netzwerk ist?



Bitte was ?!

Entweder der Server läuft auf deinem System , oder auf einem anderen Rechner, läuft er auf deinem ist er unter dem Port verfügbar den du dem ServerSocket zugewiesen hast,

läuft er auf einem Anderen , dann benötigst du dessen IPv4 Addresse und den Port auf welchem er läuft.

Dann ist halt auch noch immer die Frage, hängt da nen Router / Switch / Firewall oder sonst was zwischen was einen Eventuellen zugriff auf den Reservierten Port verhindert.


----------

