Bonjour,
J'ai créé une class CClientSocket pour gérer les communications par socket du côté client. Cette class permet de se connecter, d'effectuer des requêtes (via un timer qui va lire une pile de messages) et de traiter les réponses du serveur aux requêtes.
Auparavant, j'avais également une class de type CDialog qui me servait d'interface graphique. La class CClientSocket envoyait un message AFX (avec les données associées) à la class CDialog lorsque l'on avait recu une reponse du serveur.
Aujourd'hui, au lieu de la class CDialog, j'utilise une autre class qui va me servir d'interface avec une autre application :
J'utilise la class CClientSocket pour initialiser la connexion et pour envoyer mes requêtes. Mais pour recevoir la reponse, je ne sais pas comment faire le lien entre receive (CClientSocket) et ReceiveInfoType1(Interface).
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 Class CInterface: { public: CClientSocket socket; void RequestInfoType1() { socket.request() } void ReceiveInfoType1(); } Class CClientSocket { public: void request(); void receive(); }
Est ce qu'une class interne peut appeler une methode de la class externe ?
Comment peut-on envoyer un evenement aynchrone à la class Interface pour la prevenir de la reception d'une reponse (avec ses données associées) ?
J'aimerai en fait éviter que la class d'interface n'ai à scruter un buffer périodiquement (ce que fait deja la class CClientSocket).
Merci d'avance pour votre aide.
Partager