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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    150
    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 : 150
    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 confirmé
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    150
    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 : 150
    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
    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.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    150
    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 : 150
    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
    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...

  6. #6
    Rédacteur/Modérateur


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

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    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 confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    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?

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    150
    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 : 150
    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

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