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 :

connaitre son ip local


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut connaitre son ip local
    bonjour j'aimerai connaitre mon ip local.

    biensur je viens de regarder la page FAQ de c# et je suis tombé sur ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
          // Nom de la machine
          String NomMachine = Dns.GetHostName();
     
          // Récupération de la liste des IP de la machine
          IPHostEntry InfoIps = Dns.GetHostEntry(NomMachine);
          IPAddress[] MesIp = InfoIps.AddressList;
     
          foreach (IPAddress CurrentIp in MesIp)
              Console.WriteLine("Ip : {0}", CurrentIp.ToString());
    Moi je veux juste récupérer l'ip local de la machine pourquoi une liste ?

    Merci pour vos messages qui m'aide à apprendre.

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Re salut...
    Ben tu peux avoir plusieurs interfaces réseau sur ton pc....
    Le problème est de savoir laquelle tu veux utiliser...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    ah bah... comment dire... celle par défaut exemple : 192.168.56.1

    mais bon c'est une application qui va être sur ma clé usb en faite donc j'ignore par avance le résultat, c'est pour de la maintenance.

    Après ipv4 ou ipv6 aucune idée.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    j'ai trouvé cette méthode sur le forum:

    elle me retourne: 192.168.0.4

    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
     
    public string LocalIPAddress()
    {
    IPHostEntry host;
    string localIP = "";
    host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (IPAddress ip in host.AddressList)
    {
    if (ip.AddressFamily.ToString() == "InterNetwork")
    {
    localIP = ip.ToString();
    }
    }
    return localIP;
    }
     
    est-ce correct ?

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Comme l'a dit ppphil, tu peux très bien avoir plusieurs interfaces réseaux, il est donc impossible de présupposer laquelle utiliser.

  6. #6
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Comme dit, impossible de savoir quel carte tu veux. Il faut définir certains critères (connecté à internet, ...). Et même, il peut y en avoir plusieurs.

    Avec ce code, tu auras la liste des IP en format IPV4 des cartes actives (qui sont connectés).Remplacer AddressFamily.InterNetwork par AddressFamily.InterNetworkV6 pour IPV6.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    using System.Net.NetworkInformation;
    using System.Net.Sockets;
    ...
    var adapters = NetworkInterface.GetAllNetworkInterfaces().Where(d => d.OperationalStatus == OperationalStatus.Up).Select(e => e.GetIPProperties());
    var ip = adapters.SelectMany(d => d.UnicastAddresses.Where(e => e.Address.AddressFamily == AddressFamily.InterNetwork).Select(e => e.Address));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connaitre son ip public
    Par xlurp dans le forum Réseau
    Réponses: 5
    Dernier message: 03/10/2008, 10h55
  2. CButton, connaitre son état (enable ou disable)
    Par mr.saucisse dans le forum MFC
    Réponses: 5
    Dernier message: 27/02/2006, 18h01
  3. connaitre son adresse IP
    Par Tex-Twil dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 14/01/2006, 16h04
  4. Connaître son addresse IP
    Par LE NEINDRE dans le forum Modules
    Réponses: 3
    Dernier message: 27/09/2005, 10h35
  5. Connaitre son IP
    Par kaiser2003 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 04/08/2004, 23h38

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