Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.7.1 - Qt Creator : 4.2.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt3] aide client server

salut a tous
voila je suis debutant de chez debutant en réseau et il se trouve k'il faut que j'en programme un! :? et j'ai vu que sous QT il y a un exemple qui s'appelle clientserver et je voulais savoir si qqun parmi vous, les tueurs de QT pouviez m'expliker comment il fonctionne
je vous en serai extremement reconnaissant parce ke j'ai bo regarder les aides de QT je nage dans le potage grave
alors merci à vous grandement

voila le lien vers le programme :http://doc.trolltech.com/3.3/clientserver-example.html

Réponses

  • newbie en reseau ? newbie en Qt ? newbie en C++ ? newie dans un peu des trois ?
  • en reseaux et en QT je suis un noob mais en c++ je me demerde plutot bien!
    je demande juste un pti kou de main parce ke je galere c tout
  • deja tu peux commencer par regarder comment ca fonctionne une connexion client serveur en te concentrant sur la partie "reseau". Tu as des exemples en foison sur le net de codes pour un client ou un server en C. Tu devrait trouver ton bonheur assez facilement (les mots magiques sont en general bind, socket, gethostbyname, etc ...).

    Ensuite regarde du cote de l'exemple en Qt et tout sera plus clair je pense. C'est les memes concepts (en simplifie) avec un peu de "graphique" en plus.

    Si tu as un pb specifique sur une partie code de l'exemple client / server, n'hesite pas a poser une question plus precise.
  • ok je v m'y atteler des ce soir merci pour le kou de main ;)
  • voila g une kestion plus specifique au code:
    est ce kon pourrait m'expliker ces deux en tetes :

    ClientSocket( int sock, QObject *parent=0, const char *name=0 ) : QSocket( parent, name )

    SimpleServer( QObject* parent=0 ) : QServerSocket( 4242, 1, parent )

    voili voilou
    merci d'avance ;)
  • slt :
    -----

    SimpleServer( QObject* parent=0 ) : QServerSocket( 4242, 1, parent )
    est une class de serveur tout simple. QServerSocket ouvre une socket sur ton ordinateur. c a dire que celui-ci va ecouter sur le port 4242. Le parametre 1 bloque le maximum de personnes qui peuvent ce connecter en meme temps. (cela correspond a socket, bind, listen)

    Par contre je ne sais pas comment l'objet notifit le parent qu'il y a une nouvelle connection de la part d'un clien (accept) ? si y'a du monde sur ce sujet ... :)

    Bye
  • justement en ce qui concerne l'argument "parent" je voulais savoir a quoi il correspondait, d'apres ce que j'ai compris (si j'ai bien compris), il fait reference à un widget créé avec QT designer est ce bien ca ou me trompe-je
    merci pour les explikations ;)
  • La notion de parent est intrinsequement liee a Qt et tres importante.

    Le gros plus : la destruction d'un objet entraine la destruction de ses fils ... Cote gestion de la memoire ca t'aide a faire moins de betises.
  • Ok merci, mais est ce que tu pourrait expliker un peu plus en detail cette notion de parent stp :?
  • En C++ il y a une regle d'or : new -> delete
    C'est a dire qu'a chaque fois que tu alloues de la memoire tu dois la liberer.
    Qt te permet de moins te soucier de cette problématique, ou du moins fait une partie du boulot pour toi.

    Ex :
    MaClasse::MaClasse()
    {
    ...
    QLineEdit *monLineEdit = new QLineEdit (0);
    ...
    }
    Si tu fait ca, monLineEdit n'a pas de parent donc tu dois te charger de liberer la memoire (dans le destructeur de MaClasse par exemple).

    Or si tu ecrit :
    MaClasse::MaClasse()
    {
    ...
    QLineEdit *monLineEdit = new QLineEdit (this);
    ...
    }
    Alors tu n'as pas besoin de faire un delete explicite, Qt se charge de cela pour toi.
  • ok j'ai compris merci bokou vraiment c sympa

    mais j'aimerais bien comprendre les en tetes ou tout du moins celle la :

    SimpleServer( QObject* parent=0 ) : QServerSocket( 4242, 1, parent )

    est ce ke ca veu bien dire que la fonction simple serveur est elle mm un parent ( est ce qu'on doit pas mettre const char *name=0 dans sa declaration a cause du QObject?) de type Qserversocket qu'on initialise (je comprend les deux premier arguments mais je vois pas ce que le parent vient faire!!)
    c ca? ou je me gourre sur toute la ligne?? :?

    merci pour votre aide les gars!!! ;)
  • =0, c'est pour dire que le parametre est optionnel... ca n'a rien a voir avec Qt.

    ex :

    Une methode definie comme ca :
    void maMethode(int a, float b, bool c);

    Doit se construire exclusivement comme ceci :
    maMethode(1, 2, true);

    Par contre si tu la definie comme ceci :
    void maMethode(int a = 0, float b = 0, bool c = false);
    Alors tu peut faire :
    maMethode(1, 2, true);
    maMethode(1, 2);
    maMethode(1);
    maMethode();

    Bref, quand un argument est manquant il prend l'argument par defaut donne par la definition de ta methode.

    Dans ta question : a quoi sert parent ? La reponse est : a pouvoir faire de ta classe la fille d'une autre.
  • ok merci g tout compris c de la balle je te remercie grandement moutderaisin j'aurai surement d'autre question mais plus tard, la grace a toi j'avance bien merci bokou ;)
Connectez-vous ou Inscrivez-vous pour répondre.