Bonjour � tous,

Je me suis lanc� dans un projet de programmation r�seau avec MFC. En ce moment j'ai un probl�me avec la m�thode CSocket::accept. Pour mon application serveur(CServeur) qui est un CDocument avec deux threads: un qui attend l'ajout de connection et les ajoutes � une liste de client, un autre qui parcours la liste des clients pour voir s'il n'y a pas des donn�es � �tre lu et les diffuse sur les autre clients

Le probl�me se situe dans un assert du fichier sockcore.cpp, c'est la m�thode accept. Mon code est le suivant:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
 
UINT runAddConnection(LPVOID pParam) {
  CServeur *serveur = (CServeur *)pParam;
  while (serveur->isStarted()) {
     CSocket client;
     if (serveur->getServerSocket().accept(client)!=0) {
         serveur->addConnection(client);
     }
     ::Sleep(1000);
  }
  return 0;
}
Ma classe ressemble � �a:
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
 
class CServeur : public CDocument {
  public 
     CServeur(int port);
     ~CServeur();
     void start();
     void stop();
     boolean restart(int port);
     boolean isStarted();
     int getPort();
     void setPort(int value);
     CSocket & getServerSocket();
 
  private:
     int port;
     boolean started;
     CSocket serverSocket;
     CWinThread *threadConnection;
     CWinThread *threadEcoute;
}
Voil�, en gros le socket est cr�er et d�truit normalement, le socket est mis en �coute correctement avec CSocket::listen, mais la m�thode CSocket::accept fais une erreur assertion. Merci d'avance.