Récupérer l'adresse IP du client
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:
Code:
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
} |
Problème: à chaque fois j'ai la même interface qui apparait (même @IP locale, même @MAC...)
Deuxième méthode, créer un socket et en extraire l’adresse locale:
Code:
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 |
Problème: c'est l'adresse 127.0.0.1 qui m'est retournée :(
Donc voilà si vous voyez ce que je fais de mal merci de m'aider :ccool: