Asresse IP d'un client

houcem001 Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 décembre 2009 - 21 févr. 2009 à 00:13
RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 - 21 févr. 2009 à 22:42
Salut
j'ai un serveur qui ecoute s'il y a des clients.
dés q'un client connecte on lui associe la variable tcpclient
mon probléme est de determiner l'adresse IP de chacun des clients qui connecte à mon serveur . voici la partie du code:

TcpListener ecoute = null;
ecoute = new TcpListener(IPAddress.Any, port);
ecoute.Start();
TcpClient tcpclient = null;
while (true)
{
tcpclient = ecoute.AcceptTcpClient();
....
}

merci de m'aider

3 réponses

RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 1
21 févr. 2009 à 01:20
Ca devrait etre un truc du genre:

IPAddress.Parse(((IpEndPoint)tcpclient.Client.RemonteEndPoint).Adress.ToString());
0
houcem001 Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 décembre 2009
21 févr. 2009 à 17:36
ça marche mais j'ai un autre probléme;
je veux connaitre toutes les adresses IP des machines connectés à un serveur
merci
0
RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 1
21 févr. 2009 à 22:42
Ben si ton serveur gères déjà plusieurs clients/sockets, disons qu'ils sont stockés dans un array/collection/list tu n'as qu'a parcourir cette collection, recuperer le socket du client[i] et lui appliquer IPAddress.Parse(((IpEndPoint)client[i].RemoteEndPoint).Address.ToString()).

si tu stockes une liste de socket ca sera: IPAddress.Parse(((IpEndPoint)client[i].RemoteEndPoint).Address.ToString()).

si tu stockes une liste de tcpclient ca sera IPAddress.Parse(((IpEndPoint)client[i].Client.RemoteEndPoint).Address.ToString()).
0