Probleme pour recevoir des données avec les sockets
cs_MaDC
Messages postés34Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention25 août 2003
-
8 juin 2003 à 22:30
max13002
Messages postés1Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention10 octobre 2003
-
10 oct. 2003 à 22:47
RE tlm :D ( c la fete aujourd'hui)
bon ce coup là j'ai un soucis avec mes sockets.
Je suis dans une MFC et j'ai créé 2 classes CServer et CClient pour gerer le serveur et le client (waou), j'utilise les CSocket (en fait je suis dans une archiotecture de type CSocket mais vu que j'ai pas trouvé de source ni rien sur elles sur le net, a l'interieur de mes fonctions membres j'utilise SOCKET).
Le probleme : Tout marche, j'arrive à établir une connexion en TCP/IP, j'arrive à envoyer des données (enfin il me semble) mais je c absolument pas comment faire pour les récupérer.
Je suis arrivé là en modifier une source en C que j'ai porté en C++ mais je ne pe pas me permettre de faire de while(1) en C++ ça fait planter méchament.
Donc voila, est-ce qu'il existerait un évenement permettant de détecter l'arrivée de donnée dans une classe dérivée de CSocket? J'ai jeté un oeil à OnReceive qui pe me filer le numero d'une erreur au cas où yen ai eut une, je c pas si c ça le truc que je cherche, mais si c le cas je c pas où sont stocké les données reçues.
Merci d'avance tlm! ^_^
tcho! :)
PS: oula c long ce post
A voir également:
Probleme pour recevoir des données avec les sockets
roswell117
Messages postés61Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention18 novembre 2005 10 juin 2003 à 09:18
La fonction FD_ISSET permet de savoir si un objet, en l'occurence un socket, contient des données.
fd_set fdsr;
FD_ZERO(&fdsr);
FD_SET(sock, &fdsr); // sock est le nom de ton socket
if (FD_ISSET(sock, &fdsr))
{} //ce qui se passe lorsque le socket contient des données
cs_MaDC
Messages postés34Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention25 août 2003 10 juin 2003 à 10:58
hmm oui mais ça c pour des SOCKETS (en c sous entendu), moi j'utilise des CSocket en c++, ya pleins de trucs qui changent, par exmple, je peux pas faire de boucle infinie pour tester la reception d'un message vu que ça plante (je l'ai pas deja dis? :S)
max13002
Messages postés1Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention10 octobre 2003 10 oct. 2003 à 22:47
il va te falloir rechercher des infos sur les threads qui permettent d'executer plusieurs taches en meme temps dans ton prog(comme ecouter un socket ET verifier si tu as quelquechose a envoyer par exemple)
Donc les threads seront peut etre ton salut , bonne recherche !