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 : 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
}
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 : 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
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