J'ai commencé à crée un serveur multi-client mais lors de l'envoie d'un message par un client(disons A) au serveur, le serveur ne le revoie pas au client(B)
Merci de votre attention
public class Chat {
public static void main(String[] args) {
ServerSocket socket;
InetAddress LocaleAdresse;
try {
socket = new ServerSocket(2009);
LocaleAdresse = InetAddress.getLocalHost();
String msg = String.valueOf(LocaleAdresse);
System.out.println("Le port du serveur à été crée sur le port " + socket.getLocalPort() + " avec l'ip "
+ msg.substring(msg.length() - 12, msg.length()));
Thread t = new Thread(new Accepter_clients(socket));
t.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class Accepter_clients implements Runnable {
private ServerSocket socketserver;
private Socket socket;
PrintWriter out;
public Accepter_clients(ServerSocket s) {
socketserver = s;
}
public void run() {
Socket[] client = new Socket[50];
PrintWriter[] flux = new PrintWriter[50];
int nbtclient = 0;
while (true) {
try {
socket = socketserver.accept();
out = new PrintWriter(socket.getOutputStream());
flux[nbtclient] = out;
client[nbtclient] = socket;
nbtclient++;
System.out.println("Quelqu'un s'est connecter");
Thread recoie = new Thread(new Runnable() {
BufferedReader in;
PrintWriter out;
@Override
public void run() {
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
String message_distant = in.readLine();
System.out.println(message_distant);
for (int i = 0; i < client.length; i++) {
if (client[i] != null) {
System.out.println(flux[i]);
out = new PrintWriter(flux[i]);
out.print(message_distant);
out.flush();
}
}
}
} catch (IOException e) {
System.out.println("Quelqu'un s'est deconnecter");
}
}
});
recoie.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
EDIT:
résolut car enfaîte au lieu de:
out.print(message_distant);
Il faillait mettre:
out.println(message_distant);
- Edité par Oxmas 25 septembre 2017 à 18:27:39
Serveur Multi-Client
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.