Bonjour tt le monde,
bon voila g un gros gros GROS problème avec le thread

que j'utilise avec les sockets de façon à ce que Accept et Receive ne bloquent pas l'IHM.
- Premièrement, lorsque je veux me déconnecter (OnDeconnexion), j'ai un bug alors qu'à la compilation tt se passe bien.
=>La fenêtre "Abandonner", "Recommencer"... s'ouvre.
- Deuxièmement, quand je veux afficher des données dans mon edit box le même bug apparaît.
Donc si qq'1 a la solution...ben MERCIIIIIIIIIIIII
void CServeurDlg::OnDeconnexion() { //Fermeture de la socket m_serveur.Fermer_serveur(); m_message = "Serveur déconnecté"; m_msg_box.AddString("Serveur déconnecté"); UpdateData(false); }
UINT CServeurDlg::Connexion(LPVOID pParam) { CServeurDlg* pDlg =(CServeurDlg*)pParam; pDlg->OnConnexionThread(); }
void CServeurDlg::OnConnexionThread() { m_serveur.Attendre_connexion(); m_serveur.Accepter_connexion(); m_msg_box.AddString("Connexion établie"); m_message="Test de l'EDIT BOX"; //et voila le 2nd problème UpdateData(false);
while(TRUE)//Avec ou sans la boulce j'ai tjs le mm pro { m_serveur.Recevoir_demande(); m_serveur.Traiter_demande();
m_serveur.Envoyer_demande(); } }
void CServeurDlg::OnConnexion() { m_msg_box.AddString("Serveur en écoute"); AfxBeginThread(Connexion, this); }
|