wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 1
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu Snippets (navigation):
Pages: 1    Accueil » Snippets » Internet - Réseaux
» [wxIPV4address] : Obtenir l'adresse IP del'ordi
Détails du snippet : [wxIPV4address] : Obtenir l'adresse IP del'ordi
Informations sur l'auteur de ce snippet :


Hors ligne
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1368
Snippets: 25
Tutoriels: 6
Introduction / Description :
Bonjour à tous.

Voici une petite combine pour obtenir l'adresse IP de l'ordinateur sur lequel votre programme tourne (le localhost).

Le principe est simple : on utilise la classe wxIPV4address, que l'on initialise avec la fonction wxGetFullHostName.
Contenu du snippet :
Le code tiens en quelques lignes :

Code wxWidgets:

 
#include <wx/socket.h>
 
wxString GetLocalhostIP()
{
    // La variable de type wxIPV4address
    wxIPV4address addr;
    // On l'initialise en utilisant le nom de l'ordinateur
    addr.Hostname(::wxGetFullHostName());
    // On peut maintenant récupérer son adresse IP
    return addr.IPAddress();
}
 
Explications finales :
Voilà, c'est tout simple, et ça peut servir.

Dernière petite précision : ne pas oublier de linker votre application avec la lib "net" de wxWidgets.

@+, et bonne prog !
Xav'
Commentaires
félix (Nouveau membre)
Inscrit le : 24-05-2008
Messages: 0
Snippets: 0
Tutoriels: 0
Hors ligne
Fonctionne très bien sans la lib "net" ( testé dans l'exemple de wxWidgets sur les sockets fonction serveur)
Pourquoi faudrait il la mettre ?
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1368
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut félix, et bienvenue sur ce site.

La lib "net" est obligatoire dès que tu utilises les sockets et les classes qui y ont attrait.
L'exemple wxWidgets sur les sockets l'utilise bien.

La seule chose qui pourrait te permettre de ne pas ajouter la lib "net" à ton projet est le fait d'utiliser une version "monolithique" des libs (et dont la lib "net" fait partie).

Sinon, je viens de faire l'essai sans cette lib, et j'obtiens de beaux "undefined reference to ......"

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
félix (Nouveau membre)
Inscrit le : 24-05-2008
Messages: 0
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour Xav'
J'utilise wxDevCpp pour jouer avec les exemples sockets et je ne vois pas de lib "net" dans le projet server et client. C'est pour cela que je posais la question.
Par lib "net" qu'attends tu exactement, dans le répertoire lib de wxDevCpp il y a 4 lib qui contiennent "net"
Par contre dans wx287  que je viens de télécharger ( avec l'utilitaire de ce site) pour codeblocks il y a bien une libxx_net
A+
félix
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1368
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Je parle bien de la lib libwx......net....
Et son équivalent doit bien se trouver quelque part dans les libs de wxDevCpp, mais je ne sais pas où les libs wxWidgets sont rangées sous cet IDE.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
xootxoot (Nouveau membre)
Inscrit le : 04-12-2009
Messages: 0
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,

Comment faire dans le cas ou il y aurait plus connexions (réseau local + sans fil par exemple). Il choisit la connexion au réseau local par exemple, alors que seul mon adresse IP wifi m'interesse. Si vous avez une solution...

Merci d'avance
Patou (Nouveau membre)
Inscrit le : 29-01-2010
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne
A partir du moment ou il existe plusieurs interfaces reseaux activées, l'adresse livrée sera celle de la premiere interface trouvée, dans l'ordre de priorite des interfaces reseaux (sous windows dans les parametres reseaux -> parametre avancés).
Pour avoir toujours l'adresse de ta carte wifi, tu peux la mettre a la premiere place dans cette liste, c'est pas très pro, mais... :D

Je ne saurais malheureusent pas dire comment faire pour detecter les autres adresses, mais je serais tout aussi curieux de savoir !

Dernière modification par Patou (29-01-2010 16:43:05)

Menu Snippets (navigation):
Pages: 1    Accueil » Snippets » Internet - Réseaux
» [wxIPV4address] : Obtenir l'adresse IP del'ordi