Вот мой код:Java EchoTCPServer - Отправить всем клиентам
SERVER:
package com.murplyx.server;
public class Main {
public static void main(String args[]) {
new EchoServer(9000);
}
}
+
package com.murplyx.server;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class EchoServer {
private ServerSocket server;
public EchoServer(int port) {
try {
server = new ServerSocket(port);
while (true) {
Socket socket = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(in.readLine() + " | MOD");
socket.close();
}
} catch(Exception err) {
err.printStackTrace();
}
}
}
КЛИЕНТ:
package com.murplyx.client;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Main {
public static void main(String args[]) {
try {
while (true) {
Socket socket = new Socket("localhost", 9000);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
out.println(input.readLine());
System.out.println(in.readLine());
socket.close();
}
} catch (Exception err) {
System.out.println(err);
}
}
}
Он работает все как надо , за исключением того, что я хочу, когда сервер отправляет "сообщение" + "| MOD "для клиента, я хочу, чтобы сервер отправил это всем клиентам, как я могу это сделать?
Я новичок в Java, но не для кодирования, поэтому, пожалуйста, помогите мне, если я сделал некоторые неправильные вещи, которые можно сделать проще и лучше.
Пожалуйста, помогите.
Большое спасибо.
Не могли бы вы поместить это в мой код? Тогда это будет намного легче понять. – super
@Murplyx Отредактировано. – Aify
Если вы хотите отправить обратно измененную версию строки, в которую вы вошли, я бы рекомендовал создать поток прослушивателя. Метод .accept() блокируется, поэтому, если я правильно помню, вы не сможете принимать какие-либо данные от подключенного клиента. – Aify