bonjour tout le monde j'ai besoin de faire une communication entre un serveur multithread et des clients pour qu'ils s'échangent de messages
voila le code de serveur
import java.io.IOException;
import java.net.ServerSocket;
import java.net.*;
public class ServeurMT extends Thread{
private int nbClient=0;
/**
* @param args
*/
public void run() {
try {
ServerSocket ss=new ServerSocket(1973);
while(true){
Socket s=ss.accept();
nbClient++;
new ThreadClient(s,nbClient).start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
new ServeurMT().start();
}
}
et c'est le code de thread
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class ThreadClient extends Thread {
private Socket socket;
private int numClient;
public ThreadClient(Socket s, int nbClient) {
this.numClient=nbClient;
this.socket=s;
}
public void run(){
try {
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw=new PrintWriter(socket.getOutputStream());
pw.println("Vous etes le client num "+numClient);
System.out.println("Connexion du client "+numClient);
System.out.println(socket.getRemoteSocketAddress());
while(true){
String req=in.readLine();
System.out.println(req);
pw.println(req.length());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
et ceci pour le client
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class ThreadClient extends Thread {
private Socket socket;
private int numClient;
public ThreadClient(Socket s, int nbClient) {
this.numClient=nbClient;
this.socket=s;
}
public void run(){
try {
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw=new PrintWriter(socket.getOutputStream());
pw.println("Vous etes le client num "+numClient);
System.out.println("Connexion du client "+numClient);
System.out.println(socket.getRemoteSocketAddress());
while(true){
String req=in.readLine();
System.out.println(req);
pw.println(req.length());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
à l'éxecution j 'obtiens
et le client n'affiche rien
quelqu'un peut m'aider svp?
Partager