Bonjour à tous,
Je suis un débutant en C++ et en communication socket.
Je souhaite réaliser un serveur capable de recevoir la connexion de plusieurs clients en utilisant les classes MFC !
J'ai une classe CSocketService et CSocketServeur qui dérivent de CAsyncSocket, et d'après mes recherches pour créer un multi-client, on doit créer un thread après le Accpet() dans la méthode OnAccept() de CAsyncSocket.
Mon thread est correctement crée, mais ensuite je ne sais pas quoi mettre comme code dans la fonction de mon thread pour qu'il puissent recevoir des messages des clients.
Tous mon code est situé dans le fichier SocketServeur.cpp qui dérivent de CAsyncSocket
Je déclare mon thread comme sa :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void CSocketServeur::OnAccept(int CodeErreur)
{
	Accept(m_SocService);
/*********************************************************************************
Initialisation Worker Thread 
**********************************************************************************/
	pthread = new CThread;
	pthread = AfxBeginThread(WorkerRunFunction,0);
/********************************************************************************/
	CAsyncSocket::OnAccept(CodeErreur);	
}
La fonction de mon Worker Thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
/***************************************************************************
Fonction thread de travail
***************************************************************************/
UINT WorkerRunFunction (LPVOID pParam)
{
	//message de vérification du thread
	AfxMessageBox("Thread correctement crée");
	// ???? Code à déterminer
	return 0;
}
Mon fichier SocketServeur.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class CSocketServeur : public CAsyncSocket
{
public:
	CSocketServeur();
	virtual ~CSocketServeur();
	void OnAccept(int CodeErreur);
	CSocketService m_SocService;
	CWinThread *pthread;
};
Je vous remercie de votre aide d'avance