Bonjour, je viens d'écrire un petit programme (exe MFC) possédant une architecture standard. Le point d'entrée Interface.cpp qui crée le boite de dialogue InterfaceDlg.cpp. Dans cette derniere, dans la fonction InitDialog je crée un socket (classe personelle CClientSocket qui dérice de CSocket) et un thread qui en utilisant ce socket, réalise des demandes à un serveur et attend la réponse. C'est la méthode OnReceive que j'ai surchargé qui me permet de gérer la réception et la lecture des données. Dans ce cas de figure tout marche très bien.

Maintenant je souhaite supprimer le boite dialogue, je veut donc un exe qui crée le socket et le thread. Ne savant pas trop comment faire (hormis caché la fenêtre ce qui n'est pas top) j'ai retirer la création de la fenêtre dans Interface.cpp et j'ai rajouter ces deux créations à la place. La création et connexion du socket sont OK, une première requete au serveur est envoyée (vu coté serveur) le serveur répond bien mais la fonction OnReceive n'est jamais appellée. Etant donné que je créé ces objets dans InitInstance (point d'entrée) je suis obligé dans mettre une boucle dans en fin de la fonction pour ne pas quitter l'appli. Je soupconne donc une problème au niveau de la gestion des message windows qui ne doivent pas être captés et donc OnReceive n'est jamais appellé par le gestionnaire de message (du à la boucle infinie). Après avoir bien cherché, je n'ai pas trouvé de solution propres. Quelqu'un pourrait-il m'aider et m'indiquer comment avoir une solution propre qui marche ? Peut être faut-il que je crée un projet différent ? Ou comment puis-je gérer ce problème de message ?

Merci d'avance