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] Utilisation de sockets


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Points : 21
    Points
    21
    Par défaut [MFC] Utilisation de sockets
    Salut, j'ai un prog qui utilise des socket et j'ai un petit probleme. Quand j'exécute 2 fonctions Send() d'affilé et que je fais un Close() juste apres, y'a que le premier Send() qui est exécuté (si je supprime le Close(), les 2 Send() sont exécutés).

    Exemple:

    Dans ce cas, seul le premier Send() est exécuté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		CString strTemp = "Test";
    		int nResult = m_ClientSocket.Send(LPCTSTR(strTemp), 1024);
    		strTemp = "test2";
    		int nSize = strTemp.GetLength();
    		nResult = m_ClientSocket.Send(LPCTSTR(strTemp), nSize);
    		m_ClientSocket.Close();
    Mais dans ce cas, les deux Send() sont exécutés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		CString strTemp = "Test";
    		int nResult = m_ClientSocket.Send(LPCTSTR(strTemp), 1024);
    		strTemp = "test2";
    		int nSize = strTemp.GetLength();
    		nResult = m_ClientSocket.Send(LPCTSTR(strTemp), nSize);
    Si j'envoie 1024 caractères lors du premier Send() c'est parce que je veux pas lors de la réception que les 2 messages soient transmis dans une seule trame (ca me simplifie bien les choses au niveau de la réception). Je comprend pas d'où vient mon problème. Quelqu'un a déjà eu le meme genre de soucis?

    Merci à ceux qui pourront m'aider.

    PS:le deuxième message à l'air d'être bien envoyé car nResult n'est jamais égal à SOCKET_ERROR mais je recois jamais le message si je fais le Close().

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut socket?
    tout dabord tu devrai voir si ton socket est synchrone ou asynchrone!

    si tu utilise des socket asynchrone ta connecttion peut tre bien etre fermé avant que ta donne ne soit recu.
    essais un synchrone

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Merci pour la réponse mais comment on fait un socket synchrone ?

Discussions similaires

  1. [MFC] Faible utilisation des sockets via les MFC ?
    Par Yellowmat dans le forum MFC
    Réponses: 1
    Dernier message: 25/08/2005, 17h15
  2. [MFC]Utilisation d'un SLIDER , problème de conversion
    Par sylvain_c42 dans le forum MFC
    Réponses: 1
    Dernier message: 10/05/2005, 14h31
  3. [MFC] utilisation de printPreview
    Par Tsunamis dans le forum MFC
    Réponses: 7
    Dernier message: 05/04/2005, 10h14
  4. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24
  5. [MFC] Utilisation Drivers
    Par LAPLACE dans le forum MFC
    Réponses: 4
    Dernier message: 21/12/2002, 10h29

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