IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] Probleme de reception de données avec CAsyncSocket


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [MFC] Probleme de reception de données avec CAsyncSocket
    J'ai réaliser une application client/serveur en MFC, utilisant la classe CAsyncSocket. J'arrive a créer mon serveur, le mettre en attente et le faire accepter automatiquement une connection entrante. Mon client est capable de se connecter au serveur, mais lors que j'essaie d'envoyer une chaine de caractère, j'ai quelque petit probleme!!! J'ai utilisé la fonction "WSAGetLastError()" pour récupérer le message d'erreur sur ma fonction "CAsyncSocket.Send()" et elle me dit que tout est correct, que les données ont été envoyé mais dans mon serveur, il n'y a aucune activité!!!! Il ne recoit aucune de données!!!!


    Normalement une fois la connection acceptée par le serveur, il devrait scruté si des données arrivent et me notifier dans le cas positif en déclenchant la méthode "CAsyncSocket.OnReceive()" mais elle ne se déclenche pas!!! J'ai utilisé la methode "CAsyncSocket.OnAccept()" dans le serveur pour accepter automatiquement et elle fonctionne parfaitement. Je comprend pas pourquoi cette methode n'est pas appelé!!!!

    Si quelqu'un connait la solution à ce probleme.... Merci de vos réponses!
    ++
    Preda

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    je sias pas comment est ta commande a envoyé mais essaie en rajoutant ca "\r\n" a ta commande si c'en est une :s

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    j'utilise la fonction suivante:

    virtual int Send(
    const void* lpBuf,
    int nBufLen,
    int nFlags = 0
    );


    utilisée tel quel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this->Send((LPCTSTR)Buffer,TAILLECMD+1,0);
    TAILLECMD: constante indiquant la longeur de la chaine de caractère transmise

    Buffer: de type CString

    Apparament ma commande send me dit que tout marche bien, le message de retour généré indique que les données ont été envoyé!!

    Du coté serveur, il ne détecte rien!!!!
    Je sais pas si cela répond a ta question!

    si tu peut m'aider: misterpredator@hotmail.com

  4. #4
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Bonjour, tu as essayé de faire un WSAGetLastError coté serveur?

    Ce n'est pas forcément du côté du client qu'est le problème.

    Tu utilises quel mode côté serveur pour écouter les données entrantes? Asynchrone ou synchrone?

    Pour ne pas trop perdre de temps à débuguer ce genre de problème, il te faut impérativement un snifer TCP/IP, afin de voir ce qui passe sur le réseau.

  5. #5
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    bah moi aussi j'avais ca sauf qu'en utilisant un sniffer je me suis rendu compte qu'il n'avait rien envoyé
    rajoute ce que j'ai dit et dit moi si ca marche

Discussions similaires

  1. InfoPath envoie et reception de données avec base SQL
    Par fanfan49 dans le forum InfoPath
    Réponses: 2
    Dernier message: 05/06/2007, 15h44
  2. probleme de stockage de données avec un ByteArrayOutputStream
    Par nonoRedDevils dans le forum Java ME
    Réponses: 7
    Dernier message: 28/02/2007, 10h56
  3. Réponses: 7
    Dernier message: 22/05/2006, 14h44
  4. Réponses: 4
    Dernier message: 09/05/2006, 08h55
  5. Réponses: 7
    Dernier message: 16/01/2006, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo