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

Visual C++ Discussion :

DLL interfaces com : conflits possibles ?


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut DLL interfaces com : conflits possibles ?
    bonjour,

    j'utilise une application commerciale dans laquelle je peux ajouter des DLL qui implémentent des interfaces COM. Pour que cette application puisse "voir" ces DLL un GUID est nécessaire.

    J'ai ajouté à ce logiciel deux DLLs réalisées sous Visual Studio.

    1- j'ai ajouté la 1ère DLL et je n'ai pas eu de souci de fonctionnement de l'ensemble (Software + DLL)
    2- J'ai ensuite ajouté la seconde DLL et là j'ai eu des soucis de fonctionnement.
    3- J'ai supprimé la seconde DLL, mais malheureusement les soucis persistent.

    Le problème en question est un problème de timing : le software doit normalement envoyer des événements à un temps fixé très précisément (à la milliseconde près). Après l'ajout de ces DLL, ces timings ne sont plus respectés, il viennent trop tard.


    > la 1ère DLL est réalisée chez un de nos fournisseurs, je n'ai pas le code source.
    > la 2nde DLL est de moi, j'ai le code source.
    J'ajoute que ces deux dll utilisent toutes les deux des sockets, mais ne se connectent pas sur les mêmes machines distantes (IP différentes).


    Ma question est la suivante : avant l'insertion de ma DLL, je n'avais pas de soucis, après l'insertion les problèmes sont apparus. Malgré la suppression de la DLL (suppression de son enregistrement de la base de registre, renommage de la DLL, redémarrage de la machine...) les problèmes de timing persistent.

    Avez-vous des idées sur l'origine de mon problème ?

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Bonsoir.

    As-tu pu monitorer le réseau avec un sniffer dans le style Wireshark ? (lors de l'envoie de messages via l'application en question).
    Ça peux toujours fournir des pistes de recherche.

    En tout cas, bon courage .

    Cordialement,
    Idriss

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonsoir,

    il y a moyen de voir avec Wireshark si le réseau est saturé ? Si oui comment ?

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Re bonjour.

    Bon c'est pas trop mon domaine, mais oui entre autre on peut voir si le réseau est "saturé", si des paquets se perdent, si l'application émet trop tardivement, ...

    En parallèle, un ping permettrai aussi d'évaluer la latence de la machine d'où émet l'application ... c'est peut être une cause possible également.

    Cordialement,
    Idriss

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 116
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Comment sont vérifiés les timing ? À la réception des paquets sur les serveurs en question ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Les timing ne portent pas sur les données reçues ou envoyées.
    Ce logiciel envoie des commandes TTL à des moments très précis (un log de ce même logiciel me confirme le moment exact où le TTL a été envoyé). L'ajout de ces DLLs perturbe complètement l'envoi de ces commandes.

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

Discussions similaires

  1. utiliser l'interface COM
    Par baert dans le forum C++
    Réponses: 2
    Dernier message: 18/01/2006, 16h14
  2. RTTI:Lister les propriétés d'une interface COM
    Par zeprogrameur dans le forum Langage
    Réponses: 10
    Dernier message: 09/11/2005, 16h06
  3. conteneur de la STL (problème avec DLL et COM)
    Par moldavi dans le forum MFC
    Réponses: 8
    Dernier message: 25/07/2005, 22h43
  4. Réponses: 9
    Dernier message: 03/03/2005, 14h36

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