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:
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 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; }
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.
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; }
Partager