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)