Bonjour à tous, j'ai encore besoin de votre aide. Cette fois ça serait pour récupérer l'adresse IP locale du client sur lequel tourne mon application.
J'ai fait quelques recherches, j'utilise évidemment le module QtNetwork. Voici ce que j'ai essayé:
1ère méthode, lister toute les interfaces et toute les adresses IP:
Problème: à chaque fois j'ai la même interface qui apparait (même @IP locale, même @MAC...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 QList <QNetworkInterface> INTERFACES = QNetworkInterface::allInterfaces(); // Lister toute les interfaces for(int i=0;i<INTERFACES.size();i++) // Parcourir toute les interfaces { ui->textEdit->append("Interface n°"+QString::number(i)); // Afficher le rang de l'interface dans la QList QList <QHostAddress> IP = INTERFACES[i].allAddresses(); // Lister toute les IP de cette interface for(int j=0;j<IP.size();j++) // Parcourir toute les IP de l'interface ui->textEdit->append(IP[j].toString()); // Les afficher une à une ui->textEdit->append(""); // Sauter une ligne entre chaque interface }
Deuxième méthode, créer un socket et en extraire l’adresse locale:
Problème: c'est l'adresse 127.0.0.1 qui m'est retournée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Socket->connectToHost("www.google.fr",80); // Se connecter à google (choix arbitraire) ui->textEdit_Log->append(Socket->localAddress().toString()); // Récupérer l'adresse IP locale Socket->disconnectFromHost(); // Se déconnecter
Donc voilà si vous voyez ce que je fais de mal merci de m'aider![]()
Partager