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

Windows Forms Discussion :

Afficher adresse IP v4 dans une richtextbox ou un label [Débutant]


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut Afficher adresse IP v4 dans une richtextbox ou un label
    Bonjour tout le monde !! =)

    Alors voila, je cherche a récupérer l'adresse ipv4 du poste qui execute l'application que je suis en train de créer et a l'afficher dans un label ou une richtextbox, n'importe..
    J'ai bien cherché un peu partout sur la toile mais, étant débutant, la plupart des codes que je trouve, je ne les comprends pas totalement ( je sais, encore un noob qui veut coder le prochain Windows !! )

    Alors j'ai bien trouvé celui-ci qui a l'air de récupérer l'info que je veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     string[] GetIPaddresses(string computername)
            {
                string[] saddr = null;
                IPAddress[] addr = Dns.Resolve(computername).AddressList;
     
                if (addr.Length > 0)
                {
                    saddr = new String[addr.Length];
                    for (int i = 0; i < addr.Length; i++)
                        saddr[i] = addr[i].ToString();
                }
                return saddr;
            }
    Mais pas moyen d'afficher le résultat ou je veux...
    Du coup je viens demander aux copains devs du fofo pour un ptit coup de main siouplait ! des idées ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Essai cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private IPAddress LocalIPAddress()
    {
        if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
        {
            return null;
        }
     
        IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
     
        return host
            .AddressList
            .FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);
    }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    Heu d'accord mais comment ? je ne comprend pas ce que fait ce code...
    Bon je test de le coller de but en blanc dans ma form et il me retourne une erreur:

    Le nom 'AddressFamily' n'existe pas dans le contexte actuel

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Ajoute ces 2 namespaces en haut avec les autres using

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using System.Net;
    using System.Net.Sockets;

  5. #5
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Essayes avec cette fonction, ça marche sur mon appli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static string GetIPAddress()
            {
                HttpContext context = HttpContext.Current;
     
                string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                if (!string.IsNullOrEmpty(ipAddress))
                {
                    string[] addresses = ipAddress.Split(',');
                    if (addresses.Length != 0)
                        return addresses[0];
                }
                return context.Request.ServerVariables["REMOTE_ADDR"];
            }

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    Merci ericlm128, je n'ai plus d'erreur maintenant, mais du coup comment je peux dire a mon programme que quand je click sur mon bouton_1 l'ip s'affiche dans ma richtextbox ? ( je trouve pas quel variable prendre pour dire par exemple: richtextBox1.Text = string xxx; )

    Julien698, attention c'est l'ip locale qui m’intéresse, pas celle du wan.. ton code renvoie l'ip publique non ? ou me trompe-je..

  7. #7
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Oui ma fonction renvoie bien l'ip publique ! Je pensais que tu voulais obtenir les postes qui étaient connectés sur ton appli

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    Non non du tout !

    En fait pour t'expliquer c'est pour coder une petite appli qui permettra simplement a mes utilisateurs non avertis de récupérer l'adresse ip de leur poste afin de la communiquer au tech présent à l'autre bout du fil pour une PMAD.

    C'est dans l'optique d'ameliorer les conditions de travail de mes collegues !

  9. #9
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    richtextBox1.Text = GetIPAddress()

  10. #10
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Net.Sockets;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private IPAddress LocalIPAddress()
            {
                if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
                {
                    return null;
                }
     
                IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
     
                return host
                    .AddressList
                    .FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);
     
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
     
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                richTextBox1.Text = GetIPAddress();
            }
     
     
        }
    }
    He bin non ca fonctionne po..

    L'erreur c'est: Le nom 'GetIPAddress' n'existe pas dans le contexte actuel
    En même temps normal je pense parce que je vois pas a quoi ca ferait référence..

  11. #11
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Excuse moi on m'a embrouillé

    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
    18
            private void button1_Click(object sender, EventArgs e)
            {
                richTextBox1.Text = LocalIPAddress().ToString();
            }
     
            private IPAddress LocalIPAddress()
            {
                if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
                {
                    return null;
                }
     
                IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
     
                return host
                    .AddressList
                    .FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);
            }

  12. #12
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    Bon bin nickel ! ca fonctionne du tonnerre ! =D

    Un grand merci a toi ericlm128 et merci a toi aussi julien698 pour avoir prit le temps de plancher sur mon soucis

    Sujet résolu !

  13. #13
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    richtextBox1.Text = "127.0.0.1"
    Ok, je pars dans le coin avec un bonnet d'âne.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2016
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    Oui je crois que tu peux la !

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

Discussions similaires

  1. Comment afficher la ligne "opération" dans une req
    Par Aurèl90 dans le forum Access
    Réponses: 3
    Dernier message: 03/04/2017, 17h17
  2. [Débutant] Afficher des messages dans une RichTextBox dans une FORM
    Par Poulki dans le forum C#
    Réponses: 1
    Dernier message: 12/05/2015, 10h19
  3. Réponses: 4
    Dernier message: 22/02/2007, 10h01
  4. Sauvegarder une mise en forme dans une RichTextBox
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 29/12/2005, 12h19
  5. afficher de l'opengl dans une fenetre web
    Par soubre dans le forum OpenGL
    Réponses: 7
    Dernier message: 16/09/2005, 18h16

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