Server Multi-Thread Capricieu
Bonjour tout le monde,
Mon serveur à un souci mais lequel?
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 Server extends Thread{
private LauncherServer launcherServer;
private Socket socket;
private String string;
private Integer login;
public Server(int port){ launcherServer = new LauncherServer(port); launcherServer.start(); }
public Server(){}
public void setSocket(Socket socket) { this.socket = socket; }
public void setLauncherServer(LauncherServer launcherServer) { this.launcherServer = launcherServer; }
public void run(){
try {
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
System.out.println("1");
ObjectInputStream in = new ObjectInputStream(inputStream);
System.out.println("2");
ObjectOutputStream out = new ObjectOutputStream(outputStream);
while(true){
System.out.println("Attente");
string = (String)in.readObject();
System.out.println(string + "aze");
out.writeObject(string + "aze");
}
} catch (Exception e) {e.printStackTrace();}
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class LauncherServer extends Thread{
private Integer affluence = 0;
private Integer port;
public LauncherServer(int port){ this.port = port; }
public void run(){
try {
ServerSocket serverSocket = new ServerSocket(port);
while(true){
Socket socket = serverSocket.accept();
System.out.println("Nouveau client");
affluence++;
Server server = new Server();
server.setLauncherServer(this);
server.setSocket(socket);
server.start();
}
} catch (Exception e) {e.printStackTrace();}
}
} |
Le System.out.println("1") s’exécute mais pas le System.out.println("2").
Voila le code client:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class Client {
private Integer port;
private Integer login;
public Client(){
try {
Socket socket = new Socket("localhost", 1234);
InputStream inputStream = socket.getInputStream();
ObjectInputStream in = new ObjectInputStream(inputStream);
OutputStream outputStream = socket.getOutputStream();
ObjectOutputStream out = new ObjectOutputStream(outputStream);
while(true){
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine();
out.writeObject(string);
}
} catch (Exception e) { e.printStackTrace(); }
}
} |
Voilà, merci de votre aide.
N'hésitez pas à me dire si d'autres trucs vous piques les yeux.
Je prendrai toutes remarques et critiques avec le plus grand des plaisirs.