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

Discussion :

Socket - erreur durant le listen

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Socket - erreur durant le listen
    Bonjour ( c'est encore moi :p )

    Donc mon programme compile, mais il plante avant meme l'affichage des fenetres, à l'aide du débuggeur j'ai trouvé qu'il plante lors du listen du Qtcpserver.

    J'ai essayer de regarder dans les exemples de la doc l'utilisation des sockets, mais je trouve vraiment pas ca trés clair, donc j'aimerai savoir si j'ai fais une erreur dans le code.

    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
    21
    22
    #include <QWidget>
    #include <QPushButton>
    #include <QtNetwork>
     
     
    class ThGui : public QWidget
    {
            Q_OBJECT
     
    public:
            ThGui(QWidget *parent = 0);
    private slots:
            void beginProgram();
            void closeProgram();
    private:
            QPushButton *startB;
            QPushButton *stopB;
            QTcpServer *server;
            QTcpSocket *socket;
     
     
    };
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #include "ThGui.h"
    #include <QVBoxLayout>
     
    ThGui::ThGui(QWidget *parent)
        :QWidget(parent) {
        startB = new QPushButton(tr("&Start"));
        stopB = new QPushButton(tr("&Stop"));
        stopB->setEnabled(false);
     
        server->listen(QHostAddress::Any,27960);
        socket = server->nextPendingConnection();
     
        connect(startB,SIGNAL(clicked()),this,SLOT(beginProgram()));
        connect(stopB,SIGNAL(clicked()),this,SLOT(closeProgram()));
     
        QVBoxLayout *mainLayout = new QVBoxLayout;
        mainLayout->addWidget(startB);
        mainLayout->addWidget(stopB);
        setLayout(mainLayout);
    }
     
     void ThGui::beginProgram() {
        socket->write("BEGIN");
        startB->setEnabled(false);
        stopB->setEnabled(true);
    }
     
    void ThGui::closeProgram() {
        socket->write("ENDPROGRAM");
    }
    Merci d'avance (en espérant que ca soit la derniere fois que je vous embete)

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    ou créé/initialise tu server???

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    C'était bien ca

    ( je sens que tu aime mes questions idiotes :p )

    mais c'est pas une erreur qui devrait être décelé à la compilation ca ?

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Darkthur Voir le message
    mais c'est pas une erreur qui devrait être décelé à la compilation ca ?
    Pas en C++...
    Par contre, tu as peut être eu un warning...

    C'est le problème d'utiliser un pointeur....
    Pour info, il existe en c++ des pointeurs intelligents qui évite tout ces problèmes. Voici ceux fourni par Qt
    http://qt.developpez.com/doc/4.4/qpointer/
    http://qt.developpez.com/doc/4.5/qsharedpointer/
    http://qt.developpez.com/doc/4.5/qweakpointer/


    Tu en trouvera d'autre dans la tr1 et boost.

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

Discussions similaires

  1. Erreur durant l'initialisation du périphérique NDIS
    Par mouloudéen dans le forum Windows 2000/Me/98/95
    Réponses: 6
    Dernier message: 30/05/2006, 20h48
  2. [VB6] Erreur durant la recherche dans une table
    Par quaife dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/04/2006, 17h21
  3. [Socket] Erreur: NotSerializableException
    Par rvfranck dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 04/02/2006, 22h05
  4. [socket] erreur accept
    Par CaptainChoc dans le forum Réseau
    Réponses: 3
    Dernier message: 28/12/2005, 11h32
  5. [Socket] erreur de connexion
    Par coachbob44 dans le forum C++
    Réponses: 4
    Dernier message: 03/03/2005, 17h14

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