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 :

Socket : Receive() retourne l'historique :(


Sujet :

MFC

  1. #1
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 940
    Par défaut Socket : Receive() retourne l'historique :(
    Voilà,
    J'ai un client CSyncSocket qui se connecte à un serveur CSyncSocket qui accepte et instancie un objet CSyncSocket pour communiquer avec le client.
    Mon problème est que lorsque le client envoie un message au serveur, le message reçu contient non seulement le dernier message émis par le client mais aussi les émissions précédentes, dans l'ordre du plus ancien au plus récent ???#!
    A vrai dire, j'ai du mal à comprendre, d'où ce post.
    Est-ce que quelqu'un pourrait m'expliquer ce qui se passe ?
    Merci d'avance
    .

    Côté Serveur :
    Connexion client etablie hare:49956
    test
    test
    essai
    test
    essai
    yes
    test
    essai
    yes
    no
    Côté Client :
    test
    Ack[6]
    essai
    Ack[6]Ack[13]
    yes
    Ack[6]Ack[13]Ack[18]
    no
    Ack[6]Ack[13]Ack[18]Ack[22]
    Réception côté serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nBytes = m_sockClient->Receive(bBuf, nBufSize - 1);
    Envoie côté client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nRetLength = m_sockClient->Send(strMessage, strMessage.GetLength());
    Merci encore !
    .

    £

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 461
    Par défaut
    Moi non plus.

    Pour savoir qui déconne, le plus simple est d'utiliser un sniffer réseau, comme wireshark, pour voir qu'est-ce qui passe concrètement dans les fils du réseau.

  3. #3
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 940
    Par défaut
    finalement, le problème venait de mon code et non de la gestion des sockets MFC
    Merci de la réponse cela m'a permis de voir le problème sous un autre angle
    .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. socket read retourne 0
    Par saturn1 dans le forum Réseau
    Réponses: 0
    Dernier message: 30/05/2010, 11h28
  2. Abort sur un thread appelant socket.receive
    Par safisafi dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/10/2009, 10h01
  3. Probleme Sockets, Receive
    Par Tusbar dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/09/2007, 13h12
  4. Socket.Receive, le clavier ne répond plus
    Par JMsme dans le forum C#
    Réponses: 5
    Dernier message: 15/02/2007, 09h43
  5. [sockets] gethostbyname retourne toujours la même chose
    Par Strab dans le forum Développement
    Réponses: 3
    Dernier message: 15/09/2006, 10h24

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