Я создал сервер Java с сокетами, как печатать на ВСЕ сокеты?
Я пытался сделать это некоторое время, и я хочу, чтобы несколько клиентов получали несколько входов одновременно.
Есть одна проблема, я хочу, чтобы сервер печаталПривет" всем клиентам, если один клиент говорит:print2all Привет.
Я знаю, как обработать это, чтобы напечатать это, просто напечатать ВСЕМ клиентам - проблема.
Вот'Это то, что я имею до сих пор.
сервер
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();
}
клиент
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();