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

C++ Discussion :

Upnp igd + livebox récente ?


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 150
    Points : 412
    Points
    412
    Par défaut Upnp igd + livebox récente ?
    Bonjour,

    Quelqu'un aurait-il déjà réussi (en c++, ou en pascal/delphi) à ouvrir des ports sur une livebox récente (2011) via l'upnp ? [l'upnp igd est activé of course]

    En fait j'ai déjà réussi à créer dynamiquement un port mapping sur la livebox via l'UPNPLib en OLE sous windows, seul soucis même avec une durée de vie que je fixe à 0 (infinie) , au bout de 2 ou 3 minutes mon port mapping disparait tout seul de l'interface web d'admin de la livebox.

    Autre soucis, quand j'essaie d'effacer le port mapping avant qu'il ne disparaisse j'ai une erreur "The owner of the PerUser subscription is not logged on to the system specified.", je n'ai pas trouvé grand chose d'utile sous google concernant cette erreur en lien avec l'upnp.
    [j'ai tenté l'élevation de privilège pour être "en mode admin" mais ça ne change rien]

    NOTES:
    -------
    * la lib natupnp qui permet en théorie de faire ça en 3 lignes de code (exemple ICI) ne marche pas du tout chez moi (l'objet NAT.StaticPortMappingCollection n'existe même pas [vaut NULL])

    * le petit logiciel upnptester a le même problème que moi (le port mapping créé disparait tout seul au bout de 3 minutes, par contre le DeletePortMapping semble être ok)

    * Emule et Skype arrivent bien à créer des ports mappings à durée de vie infinie donc ça doit être possible et j'ai du rater des étapes

    Si quelqu'un a déjà été confronté à ce problème et a trouvé une solution ou si vous connaissez une lib upnp qui fonctionne sur une livebox récente, un petit coup de pouce sera le bienvenu

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 860
    Points
    24 860
    Par défaut
    Je ne connais pas l'UPnP mais est-ce tu n'aurais pas une erreur de dialogue ?
    Par exemple la LiveBox envoie une Notification et n'obtient pas de réponse et donc coupe la liaison ?
    Un système de KeepAlive existe-t-il dans ce protocol ?

    D'ailleurs selon Wikipedia, il semble que la déconnexion d'un périphérique UPnP soit un problème connu : Problèmes d'UPnP lié à l'authentification !

    Possible que Emule et Skype fonctionne en mode sécurisé qui garanti la durée de vie de la connexion !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 150
    Points : 412
    Points
    412
    Par défaut
    En fait je ne gère pas le protocole moi même, j'utilise via OLE une DLL COM de windows (upnp.dll) qui normalement s'en charge.

    Je n'ai pas d'erreur au moment de l'execution du AddPortMapping, et le mapping apparait bien dans l'interface d'admin de la livebox ... seulement au lieu de rester indéfiniment (durée de vie 0=infinie) , le mapping ne reste que 3 minutes

    A mon avis emule et skype gèrent eux même le protocole , voilà pourquoi cela fonctionne mieux, mais je ne me sens pas de réinventer la roue

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 860
    Points
    24 860
    Par défaut
    Je suppose que tu fais un truc genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPnPServiceIntf.InvokeAction('AddPortMapping', vInActionArgs, pvOutActionArgs, pvRetVal);
    IUPnPService doit bien fournir des options d'authenfication pour "stabiliser" la connexion
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 150
    Points : 412
    Points
    412
    Par défaut
    Bon finalement j'ai laissé tomber microsoft et ses apis qui ne marchent pas chez moi , j'ai utilisé une DLL écrite en C qui fait partie du code d'emule et là ça fonctionne.

    Merci quand même Shai

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

Discussions similaires

  1. Upnp + livebox récente ?
    Par pragmatique dans le forum Web & réseau
    Réponses: 4
    Dernier message: 01/12/2011, 12h26
  2. [MFC] Ajout des fichiers récents dans un menu
    Par Choupinou dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2004, 16h47
  3. recup des enregistrement les plus récents.
    Par julien_guy dans le forum Langage SQL
    Réponses: 8
    Dernier message: 29/06/2004, 11h04
  4. Sélection date la + récente
    Par tonton54 dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/04/2004, 11h30
  5. [Tomcat] migration vers une version plus récente
    Par butcher dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 31/10/2003, 21h46

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