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

Développement Web avec .NET Discussion :

Adresse IP d'une application client


Sujet :

Développement Web avec .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2017
    Messages : 18
    Par défaut Adresse IP d'une application client
    Bonjour à toutes et tous,

    J'ai actuellement une application serveur à laquelle peuvent se connecter N clients (2 pour le moment).

    Je voulais dans le Load_Page (côté client) interroger le serveur sur ce que celui-ci doit afficher.
    L'affichage dépend uniquement de l'adresse IP (v4) du client.

    Actuellement, j'ai le code ci-dessous qui me retourne l'adresse IP du serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string HostName = Dns.GetHostName();
    IPAddress[] Ip = Dns.GetHostEntry(HostName).AddressList;
    string AdresseIp = Ip[0].ToString();
    MonAdresseIP.Text = AdresseIp;
    et ce code qui me retourne (::1) ...
    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
    System.Web.HttpContext context = System.Web.HttpContext.Current;
    string ipAddress = context.Request.ServerVariables["FORWARDED"];
    /* J'ai remplacé le paramètre de la ligne ci-dessus par chacun des éléments en commentaire ci-dessous : cela me donne le même résultat !
    "HTTP_X_COMING_FROM"
    "HTTP_X_FORWARDED_FOR"
    "HTTP_X_FORWARDED"
    "HTTP_X_REAL_IP"
    "HTTP_VIA"
    "HTTP_COMING_FROM"
    "HTTP_FORWARDED_FOR"
    "HTTP_FORWARDED"
    "HTTP_FROM"
    "HTTP_PROXY_CONNECTION"
    "CLIENT_IP"
    "FORWARDED" 
    */
    if (!string.IsNullOrEmpty(ipAddress))
    {
       string[] addresses = ipAddress.Split(',');
       if (addresses.Length != 0)
       {
          BoutonAdresseIP.Text = addresses[0];
       }
    }
    MonAdresseIP.Text = context.Request.ServerVariables["REMOTE_ADDR"];
    Est-ce que quelqu'un aurait une idée, un bout de code qui fonctionne ?

    Par avance merci

    Olivier

  2. #2
    Membre émérite
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Par défaut
    Salut,

    Est ce que tu as regardé cette propriété : UserHostAddress

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpContext.Current.Request.UserHostAddress

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Citation Envoyé par Olivier_17610 Voir le message
    et ce code qui me retourne (::1)
    rien d'étonnant ...
    ::1 veut dire localhost en ipv6 (= 127.0.0.1 en ipv4)
    depuis un autre pc tu auras l'ip du pc
    par contre c'est toi qui force à prendre la 1ère ip du tableau, or un pc peut avoir plusieurs ip, ne serait-ce qu'une en ipv4 et une en ipv6, et parfois plus de chaque (selon le nombres de périphériques réseaux)

    par contre depuis le serveur, tu peux récupérer l'ip du client connecté de manière unique (celle qui s'est connectée)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2017
    Messages : 18
    Par défaut
    @Katkiller,

    Non, je n'ai pas testé cette propriété, je vais y jeter un oeil merci.

    @pol63,

    Merci pour l'info concernant le ::1 ... Je vais essayé de trouver un moyen pour faire ce que je cherche ...

    Merci à tous les 2 pour vos pistes.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2006, 13h02
  2. Développer une application Clients-Serveur
    Par Sou06 dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2006, 21h36
  3. Réponses: 3
    Dernier message: 14/03/2006, 16h08
  4. Réponses: 5
    Dernier message: 24/09/2005, 20h31
  5. conception et réalisation d'une application client/serveur
    Par masvivi dans le forum Développement
    Réponses: 1
    Dernier message: 24/08/2005, 12h32

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