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 :

CAsyncSocket et Console (pas de OnReceive)


Sujet :

MFC

Vue hybride

coincoin73 CAsyncSocket et Console (pas... 13/01/2009, 15h05
farscape tu as initialisé les MFC ? 13/01/2009, 17h54
coincoin73 Si tu veux parler de ça : ... 14/01/2009, 09h20
farscape non de ça: // Initialise... 14/01/2009, 10h18
coincoin73 oui 14/01/2009, 17h30
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Par défaut CAsyncSocket et Console (pas de OnReceive)
    Bonjour,

    J'ai fait une appli en mode console Win32 (sous Visual C++ 6.0).
    J'ai ajouté une classe dérivée de CAsyncSocket (que j'utilise dans d'autre programme avec boite de dialogue).
    Lorsque je tente la connexion avec mon application serveur, je vois bien le OnAccept dans l'application serveur après le Connect de mon appli, et ensuite plus rien : je ne passe pas dans OnReceive.
    Alors que j'ai appelé la fonction Receive dans ma boucle principale et je vois bien le message que m'envoie mon application serveur à la connexion.

    Tout se passe comme si mon appli ne recevait pas les messages. Je ne comprends pas pourquoi ?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu as initialisé les MFC ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Par défaut
    Si tu veux parler de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (!AfxSocketInit())
    {
    	AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
    	return FALSE;
    }
    Alors oui je l'ai fait.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    non de ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Initialise MFC et affiche un message d'erreur en cas d'échec
        if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
        {
            // TODO : modifiez le code d'erreur selon les besoins
            _tprintf(_T("Erreur irrécupérable : l'initialisation MFC a échoué\n"));
            nRetCode = 1;
        }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Par défaut
    oui

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    ceci dit je n'ai jamais fait fonctionner les CSockets dans ce sens (pas de détection d'une réception) dans un programme console.
    le problème c'est que les sockets MFC utilisent une fenêtre pour les messages , dans le contexte d'un programme console ça peut être un problème:
    ça l'était pour moi du temps de vc4.2 , la fenêtre socket se retrouvait dans liste des fenêtres en premier plan et bloquait une application qui envoyait des messages DDE.
    ce que tu peux faire pour t'assurer que ton code est valide c'est de l'implémenter rapidement dans un projet boite de dialogue par exemple.

Discussions similaires

  1. HttpWebRequest fonctionne sur une appli console, pas sur une appli Web
    Par hollywood dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 23/04/2009, 14h34
  2. Ctrl -] ne passe pas dans une console avec vim
    Par Celelibi dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/03/2006, 13h35
  3. [VS2005] J'ai pas de console :'(
    Par mister3957 dans le forum Visual C++
    Réponses: 12
    Dernier message: 02/02/2006, 10h52
  4. Pas le même clavier en console et en mode graphique
    Par Eusebius dans le forum Matériel
    Réponses: 4
    Dernier message: 05/12/2005, 17h53
  5. [TOMCAT][LOGS]pas d'affichage de trace dans la console
    Par fabszn dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 23/08/2005, 02h28

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