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 :

Rencontre des problème affiche de l'ip locale


Sujet :

C++

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut Rencontre des problème affiche de l'ip locale
    Bonjour,

    je programme sur QT et je rencontre des erreurs lorsque je compile mon programme..

    je souhaite afficher l'ip locale mais rien y fais ça veux pas s'afficher..
    voici mon code fait sur QT creator
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    #include <QApplication>
    #include <QWidget>
    #include <QtGui>
    #include <QPushButton>
    #include <QVBoxLayout>
    #include <QtNetwork/QNetworkInterface>
    #include <QtNetwork/QHostAddress>
    #include <QList>
    #include <QCoreApplication>
    #include <QtDebug>
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        // Exécute UwAmp.exe au démarrage du logiciel
        QProcess::startDetached("UwAmp.exe");
        // Ouvre l'url dans le navigateur
        QDesktopServices::openUrl(QUrl("http://www.google.fr/"));
        QWidget fenetre;
        // détermine la taille de la fenetre
        fenetre.setFixedSize(300, 300);
     
        QPushButton *bouton1 = new QPushButton(" bouton");
        QPushButton *bouton2 = new QPushButton(" bouton");
        QPushButton *bouton3 = new QPushButton(" bouton");
        QPushButton *bouton4 = new QPushButton(" bouton");
        QPushButton *bouton5 = new QPushButton(" bouton");
        QPushButton *bouton6 = new QPushButton(" bouton");
     
        QLabel *label1 = new QLabel("Afin d'accéder à l'application depuis un autre<br />ordinateur connecter sur le même réseau,<br />il vous suffi de taper cette adresse dans<br /> le navigateur <a href=\"http://192.168.0.14\">http://192.168.0.14/</a>", &fenetre);
     
        // affichage de l'ip locale
        QCoreApplication a(argc, argv);
     
        foreach (QHostAddress ha, QNetworkInterface::allAddresses())
            qDebug() << ha.toString();
     
        //affichage avec layout
        QVBoxLayout *layout = new QVBoxLayout;
        layout->addWidget(bouton1);
        layout->addWidget(bouton2);
        layout->addWidget(bouton3);
        layout->addWidget(bouton4);
        layout->addWidget(bouton5);
        layout->addWidget(bouton6);
        layout->addWidget(label1);
     
        fenetre.setLayout(layout);
        fenetre.setWindowIcon(QIcon("icone.png"));
        fenetre.setWindowTitle(" bouton v1.0.0");
        fenetre.show();
     
        return app.exec();
    }

  2. #2
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut
    Bon je viens au news

    ça avance

    voici le code débogué

    j'ai retiré cette partie la qui étais de trop.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QCoreApplication a(argc, argv);
    et ajouter dans mon fichier .pro
    QT += gui network
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    #include <QApplication>
    #include <QWidget>
    #include <QtGui>
    #include <QPushButton>
    #include <QVBoxLayout>
    #include <QtNetwork/QNetworkInterface>
    #include <QtNetwork/QHostAddress>
    #include <QList>
    #include <QtDebug>
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        // Exécute UwAmp.exe au démarrage du logiciel
        QProcess::startDetached("UwAmp.exe");
        // Ouvre l'url dans le navigateur
        QDesktopServices::openUrl(QUrl("http://www.google.fr/"));
        QWidget fenetre;
        // détermine la taille de la fenetre
        fenetre.setFixedSize(300, 300);
     
        QPushButton *bouton1 = new QPushButton(" bouton");
        QPushButton *bouton2 = new QPushButton(" bouton");
        QPushButton *bouton3 = new QPushButton(" bouton");
        QPushButton *bouton4 = new QPushButton(" bouton");
        QPushButton *bouton5 = new QPushButton(" bouton");
        QPushButton *bouton6 = new QPushButton(" bouton");
     
        QLabel *label1 = new QLabel("Afin d'accéder à l'application depuis un autre<br />ordinateur connecter sur le même réseau,<br />il vous suffi de taper cette adresse dans<br /> le navigateur <a href=\"http://192.168.0.14\">http://192.168.0.14/</a>", &fenetre);
     
        // affichage de l'ip locale
     
        foreach (QHostAddress ha, QNetworkInterface::allAddresses())
            qDebug() << ha.toString();
     
        //affichage avec layout
        QVBoxLayout *layout = new QVBoxLayout;
        layout->addWidget(bouton1);
        layout->addWidget(bouton2);
        layout->addWidget(bouton3);
        layout->addWidget(bouton4);
        layout->addWidget(bouton5);
        layout->addWidget(bouton6);
        layout->addWidget(label1);
     
        fenetre.setLayout(layout);
        fenetre.setWindowIcon(QIcon("icone.png"));
        fenetre.setWindowTitle(" bouton v1.0.0");
        fenetre.show();
     
        return app.exec();
    }
    alors mon programme ce lance bien. Dans la console je retrouve
    "FE80:0:0:0:894F:9218:3642:B83C"
    "192.168.0.14"
    "FE80:0:0:0:2DB7:BB5B:AC68:29D1"
    "169.254.41.209"
    "0:0:0:0:0:0:0:1"
    "127.0.0.1"
    "2001:0:5EF5:79FB:9:25D:3F57:FFF1"
    "FE80:0:0:0:9:25D:3F57:FFF1"
    je vois l'ip local qui est 192.168.0.14

    comment faire pour afficher ça dans mon application ?

    Merci d'avance

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Ce n'est pas un problème simple. L'IP "locale" ne veut rien dire, une seule machine pouvant avoir plusieurs IP.

    Il semble que tu recherches ton IP sur Internet. Le plus simple est sans doute de récupérer la sortie de icanhazip.com en faisant une requête http sur ce site.
    Find me on github

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Ce n'est pas un problème simple. L'IP "locale" ne veut rien dire, une seule machine pouvant avoir plusieurs IP.

    Il semble que tu recherches ton IP sur Internet. Le plus simple est sans doute de récupérer la sortie de icanhazip.com en faisant une requête http sur ce site.
    non non pas du tout c'est bien l'ipv4 que je veux

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Citation Envoyé par djo007 Voir le message
    non non pas du tout c'est bien l'ipv4 que je veux
    Le problème n'est pas une histoire d' IPv6 ou d'IPv4, le problème est qu'il n'est pas évident de déterminer quelle IP tu veux. Puisque la machine en a plusieurs, il faut interroger le service réseau concerné pour trouver quelle IP correspond, ou bien lire la configuration réseau de ton système, mais ça c'est pas portable...
    Find me on github

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Ce n'est pas un problème simple. L'IP "locale" ne veut rien dire, une seule machine pouvant avoir plusieurs IP.

    Il semble que tu recherches ton IP sur Internet. Le plus simple est sans doute de récupérer la sortie de icanhazip.com en faisant une requête http sur ce site.
    Ca ne va jamais lui donne une 192.168.x.y qui ne doit pas sortir du reseau local. Au mieux il ne va pas atteindre le site, au pire il va avoir une adresse qui est passee par du NAT...

    Citation Envoyé par djo007 Voir le message
    non non pas du tout c'est bien l'ipv4 que je veux
    Pourquoi 192.168.0.14 et pas 169.254.41.209?
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  8. #8
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Pourquoi 192.168.0.14 et pas 169.254.41.209?
    c'est un exemple cher moi c'est 192.168.0.14 sur ce PC

  9. #9
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par djo007 Voir le message
    c'est un exemple cher moi c'est 192.168.0.14 sur ce PC
    169.254.41.209 est une des adresses que tu donnes aussi dans la sortie de ton programme.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  10. #10
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    169.254.41.209 est une des adresses que tu donnes aussi dans la sortie de ton programme.
    ha oui pardon, celle qui m'intéresse c'est 192.168.0.14

    enfaite je m'explique.

    mon application lance un serveur apache online (accessible que en local)
    mais pour accéder sur un autre ordinateur l'utilisateur dois connaitre l'adresse id pour ensuite la taper dans le navigateur sur les autres pc mis sur le réseau local

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/10/2014, 16h05
  2. Réponses: 5
    Dernier message: 22/08/2013, 16h30
  3. [phpMyAdmin] Problème : afficher des données
    Par lucas093 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 05/02/2011, 20h51
  4. POI rencontre un problème avec la suppression des onglets
    Par hicham_alaoui1 dans le forum Documents
    Réponses: 0
    Dernier message: 12/10/2008, 20h54
  5. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40

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