G
Guest
Gast
Hab mal einen neuen Thread der übersichtlichkeit halber aufgemacht.
das ist mein ansatz.
wie kann ich denn jetzt definieren, dass an alle clients aus der liste eine meldung geshcickt wird.
Code:
import java.net.*;
import java.io.*;
import java.util.List;
public class Server extends Thread {
Boolean isStarted = false;
ServerSocket server;
Socket client;
DataOutputStream out;
DataInputStream in;
List<Socket> list;
@Override
public synchronized void run() {
try {
server = new ServerSocket(4000);
} catch (IOException ex) {
System.out.println("Probleme mit Socket");
}
while (isStarted) {
try {
client = server.accept();
list.add(client);
in = new DataInputStream(client.getInputStream());
out = new DataOutputStream(client.getOutputStream());
String chatNachricht = in.readUTF();
System.out.println(chatNachricht);
out.writeUTF(chatNachricht);
out.flush();
in.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
try {
server.close();
client.close();
} catch (IOException ex) {
System.out.println("put");
}
}
public List getClients() {
return list;
}
public void removeClient(Socket client) {
list.remove(client);
}
public void setOffline() {
isStarted = false;
}
public void setOnline() {
isStarted = true;
}
}
das ist mein ansatz.
wie kann ich denn jetzt definieren, dass an alle clients aus der liste eine meldung geshcickt wird.