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 crash à la l'appel


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Par défaut Socket.receive crash à la l'appel
    Bonjour à toutes et à tous,

    Je travaille actuellement sur un projet client/serveur MFC sur Visual studio 2010 c++.
    Je tente d'envoyer un objet de la classe suivante (fait maison):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    enum tour_joueur {BLANC,NOIR,PERSONNE};
    enum piece {BLANCHE,NOIRE,RIEN};
     
    class Damier
    {
    public:
    	Damier(void);
    	~Damier(void);
     
    public:
    	piece tab_damier[10][10];
    	int compteur_connexion;
    	int compteur_coups;
    	tour_joueur tour;
    	bool coup_joue;
    	int pieces_blanches_restantes;
    	int pieces_noire_restantes;
    	// renvoie true si pair et false si impaire
    	bool parite(int numero);
    };
    Le serveur envoie un objet Damier * damier qui a été initialisé par la fonction MonSocket.send
    Le client essaie de le recevoir via la fonction MonSocketClient.receive

    Or dès que la fonction receive est appellée le programme crash, et chose plus étonnante, il est impossible de faire un "step into" pour débugger. Il semble que le simple fait d'appeller cette fonction crash le programme.

    Je tiens à préciser que ce n'est pas la première fois que j'utilise ces fonctions et je n'ai jamais vu ce problème.........

    J'attend avec impatience vos idées et suggestions......

    merci d'avance!!

  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
    Je tiens à préciser que ce n'est pas la première fois que j'utilise ces fonctions et je n'ai jamais vu ce problème.........
    Vous donnez si peu de détail et votre utilisation semble si étrange que j'en doute.

    objet Damier * damier
    C'est un objet ou un pointeur sur objet ? Ce n'est pas du tout la même chose.
    Les pointeurs distants, en C++ sans Framework dédié, c'est velu.

    Je ne vois aucune MACRO, classes de base, décorations, méthodes, ou commentaires qui indiquent l'utilisation d'un Framework de sérialisation ou d'objet distant.
    Si ça marche, c'est de la magie noire ou vous utilisez des mécanismes et des classes qui non rien de standard.

    Je ne vois pas comment cela peu marcher.

    Pouvez-vous poster un projet VS minimaliste reproduisant le problème ?

    P.S.:
    Or dès que la fonction receive est appellée le programme crash, et chose plus étonnante, il est impossible de faire un "step into" pour débugger.
    Avant l'appel, il y l'évaluation des paramètres, et vue votre classe, ça va être folklorique de construire un désérialisateur de l'objet depuis le flux de données.

Discussions similaires

  1. Socket : Receive() retourne l'historique :(
    Par star dans le forum MFC
    Réponses: 2
    Dernier message: 23/02/2012, 18h06
  2. Socket Receive / Problème avec buffer
    Par Spellbinder dans le forum C#
    Réponses: 3
    Dernier message: 12/04/2011, 09h22
  3. Abort sur un thread appelant socket.receive
    Par safisafi dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/10/2009, 10h01
  4. Probleme Sockets, Receive
    Par Tusbar dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/09/2007, 13h12
  5. Socket.Receive, le clavier ne répond plus
    Par JMsme dans le forum C#
    Réponses: 5
    Dernier message: 15/02/2007, 09h43

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