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

Réseau Discussion :

[QTcpServer] le signal newConnection() n'est jamais appelé !


Sujet :

Réseau

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut [QTcpServer] le signal newConnection() n'est jamais appelé !
    Bonjour

    Je souhaiterais communiquer en réseau avec un serveur, seulement voilà : le serveur ne détecte jamais les nouvelles connexions ! (moi, par exemple, quand j'ouvre le programme, je suis censé me connecter sur le serveur).

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    serveur = new QTcpServer(this);
    if (!serveur->listen(QHostAddress::Any, 4005))
        QMessageBox::information(this, "Erreur", serveur->errorString());
    else
        QMessageBox::information(this, "Essai", "Le serveur a bien démarré.");
     
    void nouvelleConnection()
    {
        QMessageBox::information(this, "Essai", "Un nouveau client vient de se connecter.");
    }
    Merci pour votre aide.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Salut.
    Tu es sur de ton connect entre signal/slot?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut
    Le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(serveur, SIGNAL(newConnection()), this, SLOT(nouvelleConnexion()));

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Ton appli, c'est le client ou le serveur?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut
    Peux-tu m'expliquer la différence entre les deux s'il te plaît ? Car je souhaite tout simplement que les utilisateurs du programme puissent communiquer entre eux.

    Merci pour tes réponses.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 154
    Par défaut
    Le serveur est une application qui attend que quelqu'un se connecte pour comuniquer avec, le client est le programme qui permet de se connecter au serveur.

    Donne nous un peu plus de code qu'on puisse te répondre au mieux.

  7. #7
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 65
    Par défaut
    Sinon, tu peux essayer en dérivant QTcpServer et réimplémenter la fonction incommingConnection(int) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Fichier .h
    #include <QtNetwork/QTcpServer>
     
    class myServer : public QTcpServer {
    protected:
    void incommingConnection(int);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Fichier .cpp
    #include "myserver.h"
    #include <QtNetwork/QTcpSocket>
    void myServer::incommingConnection(int clientId) {
    QMessageBox::information(0, "Essai", "Un nouveau client vient de se connecter");
    }
    Il faut ensuite que tu crée un objet myServer et que tu le mette en écoute. Tu est censé pouvoir voir les nouvelles connections.

Discussions similaires

  1. MyQItemDelegate::createEditor n'est jamais appelé
    Par traiangueul dans le forum Qt
    Réponses: 8
    Dernier message: 16/12/2010, 14h02
  2. [EasyMock] Vérifier qu'une méthode n'est jamais appelée
    Par proner dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 26/03/2009, 17h13
  3. Spécialisation template qui n'est jamais appelée
    Par coyotte507 dans le forum Langage
    Réponses: 4
    Dernier message: 02/05/2008, 12h39
  4. [ Struts ] Erreur : l'action n'est jamais appelé
    Par romain3395 dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/06/2004, 14h59

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