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

Qt Discussion :

Qt pour le réseau ?


Sujet :

Qt

  1. #1
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Billets dans le blog
    1
    Par défaut Qt pour le réseau ?
    la question se pose lorsqu'il faut utiliser Qt sans avoir besoin d'utiliser ses 2 points forts :
    - la programmation d'interface graphique
    - la portabilité du code
    qui ne sont pas nécessaires.
    Il s'agit plutôt de faire un programme d'échange de données en réseau sous Linux, donc il y a -t- il un intérêt (performances, facilité de programmation) qui laisserait penser que Qt à son avantage dans ce domaine ?

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Dans Qt, il n'y a pas que la portabilité du code et la GUI !
    Il y a pas mal d'autres classes qui peuvent être utiles même si tu ne comptes développer qu'un serveur pour un OS donné.

    Genre l'encodage des caractères, les timers, le HTTP, le XML, etc...

    Après, tout dépend de ce que ton serveur va faire. C'est sûr que si tu n'as jamais utilisé Qt et que tu ne veux faire que de la transmission de données via socket, une ou plusieurs autres libs (STL ? Boost ? Socket Unix ? ...) seront peut-être plus légères et plus appropriées.

    Bref, tout dépend de ce que tu veux faire et ce que tu connais déjà.

  3. #3
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Billets dans le blog
    1
    Par défaut
    d'abord merci de ta réponse.
    Ensuite, il est vrai que Qt sera utile pour générer du XML et que j'ai déjà utilisé et donc je le connais un peu.

    "(..) tu ne veux faire que de la transmission de données via socket, une ou plusieurs autres libs (STL ? Boost ? Socket Unix ? ...) seront peut-être plus légères et plus appropriées"
    Dans ce cas dois-je comprendre que si on ne s'attache qu'aux performances, les "Sockets Unix" seront plus adaptées.

    Plus généralement, si je veux faire du XML, des requêtes Base de données, et des échanges de données réseau, faut il faire du tout QT pour garder un ensemble cohérent (celui du Framework) ou il serait mieux de prendre les libs POSIX d'unix si elles permettent d'améliorer la vitesse de ses échanges de données ?

  4. #4
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Citation Envoyé par dlewin Voir le message
    Dans ce cas dois-je comprendre que si on ne s'attache qu'aux performances, les "Sockets Unix" seront plus adaptées
    Question 'légèreté', je pensais plus aux dépendances : même si c'est un détail, un utilisateur linux sous Gnome (voir sans serveur X du tout) verra peut-être d'un moins bon oeil d'avoir à installer le paquet Qt pour un serveur en mode console.

    Pour le reste, il y a performances et performances.

    1/ Si tu veux faire un serveur qui supporte 10 000 utilisateurs émettant chacun 50 messages par seconde, la tu dois effectivement faire attention aux performances.

    2/ Par contre, si ton serveur a 300 utilisateurs qui envoient un ou deux message par seconde, les problèmes de performances n'en seront pas vraiment un.

    Et dans 95% des cas (facile), on est plus proche du cas n°2 que du cas n°1.

    Enfin, même si globalement la surcouche de Qt sera un poil moins performante qu'une application à base de socket unix, la différence est négligeable. Le plus important étant d'avoir une architecture bien pensée et bien codée, et ça c'est valable dans tous les cas

    si je veux faire du XML, des requêtes Base de données, et des échanges de données réseau, faut il faire du tout QT pour garder un ensemble cohérent (celui du Framework)
    Les trois sont possibles (uniquement Qt ; plusieurs libs indépendantes ; un mix de Qt etd'autres libs), mais pour le confort et l'efficacité du développement, j'aurais tendance à opter pour une seule librairie à apprendre/maîtriser (donc Qt) plutôt que x librairies différentes à découvrir.

  5. #5
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Billets dans le blog
    1
    Par défaut
    c'est ce que je supposais en fait.

    Dans tout ça je comprends que l'ajout de la "surcouche " Qt est largement compensée par le modèle de programmation et les API qui aident à mise en place du projet.

    NB : malgré mes recherches, les seuls bench que j'ai trouvé concernent que la partie GUI, et non pas Network.

    Merci

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

Discussions similaires

  1. Besoin de votre avis pour app réseau et données Excel
    Par BM42 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/12/2006, 10h42
  2. Carte PCI ou dongle USB pour un réseau Wifi?
    Par virgul dans le forum Hardware
    Réponses: 14
    Dernier message: 18/07/2006, 17h01
  3. Que faut il ajouter pour un Réseau WiFi pour 2 PC
    Par zakuli dans le forum Hardware
    Réponses: 7
    Dernier message: 18/12/2005, 10h43
  4. quels types de cable faut -il pour un réseau LAN
    Par oumarsaw dans le forum Développement
    Réponses: 6
    Dernier message: 25/08/2004, 13h25

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