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