Bonjour,

Je creer actuellement un petit modele client-serveur en utilisant les sockets ...

J'ai cependant un probleme : Je lance mon serveur et un client, la méthode "accept()" du serveur est débloquée, le client a donc réussi à se connecter.
Cependant, mon serveur et mon client reste bloqué sur la méthode :
ClientSocket.getInputStream(), pas moyen donc de récuperer mes flux d'aucun des deux cotés

je ne comprend pas ... voici des bouts de mon code


coté client :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   public static void main(String[] args) {
        int Erreur=0;
        Socket cliSock=null;
        ObjectInputStream ois = null;
        ObjectOutputStream oos = null;
        try {
            System.out.println("Debut de connexion OK");
            cliSock=new Socket("localhost", 25024);
            System.out.println("connexion OK");
            ois=new ObjectInputStream(cliSock.getInputStream());
            oos=new ObjectOutputStream(cliSock.getOutputStream());
            System.out.println("Object Recuperer OK");
 
        }
        catch(UnknownHostException ex) {
 
            JOptionPane.showMessageDialog(new javax.swing.JFrame(), "Erreur! host non trouvé" , "Erreur fatale", JOptionPane.WARNING_MESSAGE, null);
            Erreur=1;
        }
        catch(IOException ex) {
            JOptionPane.showMessageDialog(new javax.swing.JFrame(), "Erreur! Pas de connexion" , "Erreur fatale", JOptionPane.WARNING_MESSAGE, null);
            Erreur=1;
        }
coté serveur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  try
        {
            while(true)
            {
                CSocket = SSocket.accept();
                nbrClient++;
                System.out.println("CLIENT CONNECTER");
                Date now = new Date();                
                String msg = new String (now.toLocaleString() + " > Connexion d'un client");
                unVecteur.add(msg);
                ListEvents.setListData(unVecteur);
                LabNbrClient.setText(String.valueOf(nbrClient));
                System.out.println("Avant creation du thread");
                ThreadTraitementClient TTC = new ThreadTraitementClient(CSocket);
                TTC.start();
            }
        }

coté thread gestion du client (serveur donc)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  public ThreadTraitementClient(Socket C) {
        Client = C;
 
        // CREATION DU PROTOCOLE
        try
        {
        ObjectInputStream ois=new ObjectInputStream(C.getInputStream());
        ObjectOutputStream oos=new ObjectOutputStream(C.getOutputStream());
        NetworkCommunication NC = new NetworkCommunication(ois, oos);
        monProtocole = new COMAP(NC);
        }
        catch(IOException e)
        {
            JOptionPane.showMessageDialog(new javax.swing.JFrame(), "Erreur! Pas de connexion" , "Erreur fatale", JOptionPane.WARNING_MESSAGE, null);
        }
    }

tout le monde reste bloquer sur le getIn(OUT)putStream, que ce soit dans le client en lui meme, ou a la creation du thread qui gerera le client au niveau du serveur :s