Ich habe einen Java-Server mit Sockets erstellt. Wie wird auf ALLEN Sockets gedruckt?
Ich habe es eine Weile versucht und möchte, dass mehrere Clients gleichzeitig mehrere Eingaben empfangen.
Es gibt ein Problem, ich möchte, dass der Server "Hallo" an alle Clients druckt, wenn ein Client "print2all Hallo" sagt.
Ich kann es verarbeiten, um es zu drucken, gerade, um zu ALLEN Klienten zu drucken, ist das Problem.
Folgendes habe ich bisher.
Server
try{
try{
server = new ServerSocket(25565);
} catch (Exception e){
e.printStackTrace();
}
while (isListening){
new SocketThread(server.accept()).start();
}
server.close();
} catch (Exception e){
e.printStackTrace();
}
SocketThread
try {
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String inputLine, outputLine;
Processor kkp = new Processor();
out.println("Hi!");
while ((inputLine = in.readLine()) != null) {
outputLine = kkp.Proccess(inputLine,this.socket);
out.println(outputLine);
}
out.close();
in.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
Klient
Processor p = new Processor();
socket = new Socket("localhost",25565);
out = new PrintWriter(socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String fromServer;
String fromUser;
out.println("print2all Hi")
socket.close();