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

Anciens défis Discussion :

[Amnell] Présentation de ma participation [Défi n°2]


Sujet :

Anciens défis

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Par défaut [Amnell] Présentation de ma participation
    Salut,

    Équipe

    Je participe seul.

    Participation

    Mon objectif pour le défi est de présenter une architecture clients/serveur originale dans son mode de fonctionnement, du fait de sa modularité : le code permet l'ajout/retrait/modification d'un module/autre sans avoir à retoucher grand chose. Je compte gérer les modèles avec comme outil principal une base de données SQLite, qui correspond au type de bases de données "à la mode" pour les complexes clients/serveur, car bien plus simple à gérer qu'un fichier XML ou qu'une base de données MySQL.

    Voici un UML rapidement fait avec Yuml du fonctionnement actuel du serveur, qui n'en dit pas trop non plus :

    Images attachées Images attachées  
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  2. #2
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Est ce que ton diagramme UML est un diagramme d'héritage des classes (ce que signifie une flêche noir pleine en UML) ou non ?

    S'il s'agit d'un diagramme de module, quel est la signification des flêches ?

  3. #3
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Par défaut
    Citation Envoyé par johnlamericain Voir le message
    Est ce que ton diagramme UML est un diagramme d'héritage des classes (ce que signifie une flêche noir pleine en UML) ou non ?

    S'il s'agit d'un diagramme de module, quel est la signification des flêches ?
    J'ai fait rapidement l'UML pour présenter un peu le fonctionnement. Derrière, chaque élément ne correspond pas à une classe ni vraiment de module. C'est juste un moyen de détailler le fonctionnement sans pour autant en dire trop.
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Reçu. Début des tests...
    Ça plante sous Qt 5

  5. #5
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Reçu. Début des tests...
    Ça plante sous Qt 5
    Je ne sais pas comment vous faites...

    J'ai testé sous Windows 32bits, Ubuntu 32bits, Ubuntu 64bits, les Windows cleans de deux potes (dont un en 64 - ce qui ne doit pas compter parce que j'avais compilé en 32) et même un Windows Server 2008 en 64 bits (même remarque), et pas un crash.

    Qt 5 sous quelle config/compilo ?
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  6. #6
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Participation de Amnell :

    Plante sous Windows 7, 4.7.4, MSVC2008
    Plante sous Windiows Vista, 4.7.2, MSVC2008

    J'ai pas réçu à passer l'écran de login... Il doit y avoir un truc de ouf derrière pour que ce soit si dur.

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    En effet, le client a tendance à planter quand on l'exécute en dehors de Qt Creator (SDK 1.1.3, installé fraîchement aujourd'hui, Win7 64 bits, MinGW 4.4 32 bits). Par contre, en l'exécutant dans Qt Creator, ça passe sans souci.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    En effet, le client a tendance à planter quand on l'exécute en dehors de Qt Creator (SDK 1.1.3, installé fraîchement aujourd'hui, Win7 64 bits, MinGW 4.4 32 bits). Par contre, en l'exécutant dans Qt Creator, ça passe sans souci.
    j'exécute toujours dans Qt Creator, ça marche pas chez moi...

  9. #9
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Pareil, ça fonctionne chez moi sous QtCreator (mingw). J'ai testé avec plusieurs version de Qt sans problème (4.7.3, 4.7.4, 4.8). Pour Qt 5, c'est pas très grave, c'était juste pour m'amuser. A priori, ils ont viré la fonction qRound() donc le code compile pas

  10. #10
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Alors ça doit être MSVC qui fait foirer le truc. C'est pas comme si c'était le compilateur le plus utilisé

  11. #11
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    En effet, le client a tendance à planter quand on l'exécute en dehors de Qt Creator (SDK 1.1.3, installé fraîchement aujourd'hui, Win7 64 bits, MinGW 4.4 32 bits). Par contre, en l'exécutant dans Qt Creator, ça passe sans souci.
    Par planter, tu entends afficher une fenêtre toute blanche ? Si c'est le cas, c'est tout simplement parce qu'il faut que le dossier qml se situe à côté de l'exécutable (Qt Creator le place par défaut dans le répertoire précédent, si je ne me trompe pas) pour que les fichiers QML puissent être interprétés (et surtout : trouvés).
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  12. #12
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Compilation ok avec msvc 2008-2010 (Qt 4.7.4 et 4.8.0) du client et serveur. Démarrage ok du client et serveur. Par contre, plantage du serveur lorsque je clique sur le bouton "connexion"... étrange

    Pour rappel, ces remarques sont purement informatives et n'entre pas en ligne de compte pour la notation puisque ce n'est pas la version que tu as testé (je crois... )

    EDIT : l'erreur provient d'un seg fault lors d'un changement d'états interne à QtNetwork J'ai pas le détail des informations de déboguage (je ne sais pas utiliser le débogueur de msvc dans Qt Creator) donc je sais pas si c'est un problème dans le code ou dans les libs

  13. #13
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Compilation ok avec msvc 2008-2010 (Qt 4.7.4 et 4.8.0) du client et serveur. Démarrage ok du client et serveur. Par contre, plantage du serveur lorsque je clique sur le bouton "connexion"... étrange

    Pour rappel, ces remarques sont purement informatives et n'entre pas en ligne de compte pour la notation puisque ce n'est pas la version que tu as testé (je crois... )

    EDIT : l'erreur provient d'un seg fault lors d'un changement d'états interne à QtNetwork J'ai pas le détail des informations de déboguage (je ne sais pas utiliser le débogueur de msvc dans Qt Creator) donc je sais pas si c'est un problème dans le code ou dans les libs
    C'est exactement le même problème que j'ai !

    Fix it

  14. #14
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Par défaut
    Citation Envoyé par johnlamericain Voir le message
    J'ai pas réçu à passer l'écran de login... Il doit y avoir un truc de ouf derrière pour que ce soit si dur.
    Le crash doit effectivement provenir de MSVC, vu que sous toutes les plateformes que j'ai testées en compilant soit avec GCC, soit avec MinGW, ça passe sans problème. Concernant le "truc de ouf", c'est tout simplement un ping qui calcule la latence de la connexion serveur/client (comme le montre la console du serveur).

    Je suis tout de même soulagé que le problème provienne "juste" du compilateur, vu que je ne voyais pas du tout ce qui aurait pu le provoquer... Sans doute une différence de norme, je ne connais pas bien les différences entre MSVC et les deux autres énoncés plus haut.
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  15. #15
    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
    Citation Envoyé par Amnell Voir le message
    Je suis tout de même soulagé que le problème provienne "juste" du compilateur, vu que je ne voyais pas du tout ce qui aurait pu le provoquer... Sans doute une différence de norme, je ne connais pas bien les différences entre MSVC et les deux autres énoncés plus haut.
    Malheureusement, ce n'est certainement pas un problème du compilateur :/
    Et a vue de nez c'est une variable non initialisé ou un dépassement de tableau. C’est la joie de l'informatique. Ce n'est pas parce qu’une application marche qu'elle n'est pas buggé. Ca m'est arrivé assez souvent d'avoir un code qui marche jusqu'au jour où j'ajoute un innocent printf Et au finale c'est un bugs qui existait depuis très longtemps.

    Quand les sources seront disponible je regarderais.

  16. #16
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    J'ai installé le débogueur de msvc pour tester. Il y a bien un pointeur null sous msvc alors qu'il n'y a pas de "problème" sous mingw (dans le sens où le pointeur est pas null... parce que du coup, il y a un problème de validation des pointeurs avant utilisation )

  17. #17
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Par défaut
    Si cela peut vous aider dans vos recherches, ce sont les échanges de données par socket qui posent problème après compilation avec MSVC, logiquement (vu que ça crashe lors d'un ping/paquet de login). Côté serveur, la réception des paquets de chaque client se fait dans le fichier customer.cpp suite aux signaux readyRead(). Une fois que le paquet complet est récupéré, il est transmis dans vers la classe présente dans tcpserver.cpp (fonction handleMessage()) qui va appeler la fonction associée au type de paquet (voir opcode.cpp)).

    @yan > Bon courage si tu trouves. Pour ma part, je ne pense pas avoir fait d'erreur de ce type.
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

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

Discussions similaires

  1. [Défi n°2] [Les geekologues] Présentation de notre participation
    Par Invité dans le forum Anciens défis
    Réponses: 10
    Dernier message: 15/09/2011, 01h00
  2. [Défi n°2] [feda12] Présentation de ma participation
    Par feda12 dans le forum Anciens défis
    Réponses: 20
    Dernier message: 07/06/2011, 20h38
  3. [Défi n°1] [Amnell] Présentation de ma participation
    Par Amnell dans le forum Anciens défis
    Réponses: 59
    Dernier message: 06/03/2010, 16h15
  4. [Défi n°1] [0x4e84] - Présentation de ma participation
    Par 0x4e84 dans le forum Anciens défis
    Réponses: 11
    Dernier message: 01/03/2010, 10h44
  5. [Défi n°1] [Shooter74] Présentation de ma participation
    Par Shooter74 dans le forum Anciens défis
    Réponses: 6
    Dernier message: 28/01/2010, 21h54

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