1 pièce(s) jointe(s)
sreveur multi thread en java
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
Pièce jointe 144791
et le client n'affiche rien
quelqu'un peut m'aider svp? :)