Hallo meine Götter,
ich mache gerade einen Socket. Geht alles gut soweit ich mach in der Klasse Server:
so also ich starte pro Client ein neues Thread.
Jetzt das Problem:
Es funktioniert zwar jedoch bekommt der Client der eine Nachricht sendet auch diese zurück wie es sein soll aber die anderen verbunden nicht.
ich wollte eine Membervariable machen
ArrayList clientausgabestroem;
PrintWriter writer = new PrintWriter(socketc.getOutputStream) //socketc kommt aus der Klasse Server
und es dann so machen das clientausgabestroem.add(writer); ist.
und die Nachrichten so verteilen:
Iterator iterator = clientausgabestroem.iterator();
while(ist.hasNext()){
try{
PrintWriter writer = (PrintWriter) it.next();
writer.println(nachricht); //nachricht ist das was zu senden ist vom Typ string
writer.flush();
} catch....
}
Ich glaube es liegt einfach nur an clientausgabestroem das die nicht in Server gespeichert werden und jeden Thread nimmt sich im augenblick des verteilens das neue array clientausgabestroem.
Ich hoffe mir kann bei diesen Problem jemand helfen.
Schon mal danke im voraus
ich mache gerade einen Socket. Geht alles gut soweit ich mach in der Klasse Server:
Code:
while(true) {
socketc = this.serversocket.accept();
Thread thread = new Thread(new ClientHaendler(socketc));
thread.start();
}
so also ich starte pro Client ein neues Thread.
Jetzt das Problem:
Es funktioniert zwar jedoch bekommt der Client der eine Nachricht sendet auch diese zurück wie es sein soll aber die anderen verbunden nicht.
ich wollte eine Membervariable machen
ArrayList clientausgabestroem;
PrintWriter writer = new PrintWriter(socketc.getOutputStream) //socketc kommt aus der Klasse Server
und es dann so machen das clientausgabestroem.add(writer); ist.
und die Nachrichten so verteilen:
Iterator iterator = clientausgabestroem.iterator();
while(ist.hasNext()){
try{
PrintWriter writer = (PrintWriter) it.next();
writer.println(nachricht); //nachricht ist das was zu senden ist vom Typ string
writer.flush();
} catch....
}
Ich glaube es liegt einfach nur an clientausgabestroem das die nicht in Server gespeichert werden und jeden Thread nimmt sich im augenblick des verteilens das neue array clientausgabestroem.
Ich hoffe mir kann bei diesen Problem jemand helfen.
Schon mal danke im voraus