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 :

Envoyer plusieurs requêtes à un serveur


Sujet :

Réseau

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Par défaut Envoyer plusieurs requêtes à un serveur
    Bonjour à tous , je code actuellement un petit client de messagerie qui se connecte au serveur imap de gmail.

    Pour le moment j'arrive à faire un capability et un login .
    J'ai un bouton sur mon ihm qui dois faire un list "" "*" sur le serveur pour afficher les différentes boites mail. Or cette requete ( ou n'importe qu'elle autre ne passe pas )

    Je vous mets les parties essentielles de mon code :

    Constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     socket = new QSslSocket(this);
        connect(socket,SIGNAL(connected()),this,SLOT(connecte()));
        connect(socket, SIGNAL(bytesWritten(qint64)),this,
                SLOT(bytesWritten(qint64)));
        connect(socket,SIGNAL(readyRead()),this,SLOT(donneesRecues()));
        connect(socket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(erreurSocket(QAbstractSocket::SocketError)));
        socket->connectToHostEncrypted("imap.gmail.com",993);//connexion automatique au serveur
    Les méthodes principales :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void MaFenetre::connecte()
    {
        qDebug()<<"Connecté";
     
        socket->write("1 CAPABILITY\n");
        qDebug()<<socket->readLine();
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void MaFenetre::bytesWritten(qint64 bytes)
    {
        qDebug()<<bytes<<"bytes written...";
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void MaFenetre::donneesRecues()
    {
        qDebug()<<"reading...";
        qDebug()<<socket->readLine();
        m_labelMessageServeur->setStyleSheet("color: #19B2AD;");
        m_labelMessageServeur->setText(socket->readLine());
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void MaFenetre::on_boutonConnexion_clicked()
    {
       QTextStream out(socket);
       out<< "2 LOGIN " <<m_champIdentifiant->text()<<" "<<m_champMdp->text()<<endl;
       m_boutonDeconnexion->setEnabled(true);
    }
    La partie ou je pense que ca coince :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void MaFenetre::on_boutonSelect_clicked()
    {
        socket->write("3 Select INBOX"); // j'envoie la requete select ( par exemple)
         qDebug()<<socket->readLine();
     
    }

    Il n'y a pas de problème de compilation voici ce que m'affiche la console :

    résultat du capability : pas de soucis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    "* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH
    "
    Login pas de soucis également
    mais quand je clique sur le boutonSelect pour envoyer la requete Select Inbox
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    "" 
    14 bytes written...
    j'ai l'impression que le serveur n'interprète pas le select INBOX comme une requête.

    Je suis un peu perdu , si quelqu'un pouvait m'apporter son aider

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Par défaut
    Apres quelques essais sur un autre serveur imap ( celui de laposte ) les requêtes envoyées fonctionnent bien. Je pense que cela via de gmail qui demande une autre syntaxe sur l'envoie de requête ou une histoire de callback.

Discussions similaires

  1. [AJAX] Envoyer des requêtes à un serveur
    Par Qapoka dans le forum AJAX
    Réponses: 3
    Dernier message: 24/09/2009, 12h33
  2. Envoyer une requête http au serveur
    Par soso78 dans le forum VBScript
    Réponses: 2
    Dernier message: 08/10/2008, 10h54
  3. Comment envoyer plusieurs images a un serveur?
    Par cedzed64 dans le forum Général Java
    Réponses: 12
    Dernier message: 16/07/2008, 23h09
  4. envoyer plusieur fois la même requette à un serveur
    Par Armadeus dans le forum Réseau/Web
    Réponses: 8
    Dernier message: 14/06/2008, 13h43
  5. Envoyer plusieurs critères dans une requête ?
    Par olivierc25 dans le forum Access
    Réponses: 4
    Dernier message: 20/03/2007, 15h13

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