N’exécute pas les programmes en même temps
Bonjour,
Je suis en train de faire un programme composé d'un serveur et de plusieurs client, à la connexion d'un client on demande de taper un pseudo. Cependant quand je lance plusieurs client, le programme se concentre seulement sur un seul client alors que j'utilise les threads.
je vous met une partie des programmes de la partie serveur et client pour que vous puissiez regarder ce qu'il ne va pas.
coté serveur
serveur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class Serveur {
public static final Statement Null = null;
public static Thread t;
public static ServerSocket ss = null;
public static Statement state1 = Null;
public PrintWriter out;
public static void main(String[] args) throws IOException, SQLException, InterruptedException{
state1 = SQL.sql("quizz");
ss = Communication.initconnexion();
t = new Thread( new Connexion(ss, state1));
t.start();
//Communication.quitter();
}
} |
connexion
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| public class Connexion implements Runnable {
public static ServerSocket socketserver = null;
public static Socket socketduserveur = null;
public static BufferedReader in = null ;
public static PrintWriter out;
public static Statement state2;
public Thread t1;
public Connexion(ServerSocket ss, Statement state) {
socketserver = ss;
state2 = state;
}
public void run() {
try {
while(true){
socketduserveur = socketserver.accept();
in = new BufferedReader(new InputStreamReader(socketduserveur.getInputStream()));
out = new PrintWriter(socketduserveur.getOutputStream());
out.println("Veuillez choisir un pseudo: ");
out.flush();
System.out.println(in.readLine());
out.println("Vous etes connecte");
out.flush();
t1 = new Thread ( new Questionnaire("quizz", state2));
t1.start();
}
}catch (IOException e) {
e.printStackTrace();
}
}
} |
coté client
client
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public class Client {
public static void main(String[] zero) throws IOException {
Scanner sc = new Scanner(System.in);
String b = "" ;
int a =0;
int c =0;
int rep;
Thread t;
t = new Thread( new Connexion());
t.start(); |
connexion
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public class Connexion implements Runnable {
static Socket socket;
static BufferedReader in;
static PrintWriter out =null;
Scanner sc = new Scanner(System.in);
static String pseudo;
public void run() {
try {
socket = new Socket("192.168.137.1",2009);
in = new BufferedReader (new InputStreamReader (socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
System.out.println(in.readLine());
pseudo = sc.nextLine();
Connexion.out.println(pseudo + " est connecte");
Connexion.out.flush();
}catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
} |