Adressen vergeben

mastercoll5

Aktives Mitglied
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

Gesperrter Benutzer
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

Top Contributor
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.
 
Zuletzt bearbeitet:

mastercoll5

Aktives Mitglied
Ich habe ein kleines Problem

Zum Senden benutze ich den PrintWriter

Java:
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));

Und zum Einlesen am Server den Scanner

Java:
Scanner in = new Scanner(s.getInputStream())

Wenn ich z.B. Test abschicke, kommt ¬í test an, kennt jemand da eine Lösung?
 
Zuletzt bearbeitet:

mastercoll5

Aktives Mitglied
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?:
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    2,6 KB · Aufrufe: 26

kaoZ

Top Contributor
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.
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben