Adresse IP dans TcpClient

Signaler
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Hello!

J'aimerais savoir si quelqu'un connait l'astuce pour obtenir l'adresse IP du client à partir d'un object TcpClient connecté.

J'ai cherché partout mais j'ai rien trouvé snif. Si quelqu'un a eus plus de chance que moi, qu'il se manifeste lol ;-)

A++
-------------------------
Trambert le vert

5 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
comme ça je vois pas
mais comme c'est justement en mode client, tu dois forcement la connaitre comme c'est toi qui te connecte

sinon tu peux heriter de cette classe afin d'avoir acces a la propiété protected "Client" et definir une prporiété dans ta classe dérivée qui te retourne le Client.RemoteEndPoint

Cocoricoooooooo !!!!
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Malheureusement, c'est déjà tenté..

Chier, chuis bon pour utiliser la classe "native" Socket.. grr

-------------------------
Trambert le vert
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

C'est bon j'ai trouvé..

Pour les personnes que ça intéresse, il suffit d'hériter de la classe TcpClient et ensuite d'utiliser la propriété privée "Client" qui retourne le "Socket" utilisé pour établir la connection...

Mais si vous travailler avec TcpListener, il faut l'utiliser en "AcceptSocket" sinon vous pouver pas faire de cast..

Le ptit code de la classe c'est ça:

using System;
using System.Net;
using System.Net.Sockets;
using System.Windows.Forms;

namespace PDGNetwork
{
/// <summary>
/// Summary description for MyTcpClient.
/// </summary>
public class MyTcpClient : TcpClient
{
public MyTcpClient (Socket s)
{
this.Client = s;
}

/// <summary>
/// Gets the client's IP
/// </summary>
public string IP
{
get
{
try
{
return ((IPEndPoint)Client.RemoteEndPoint).Address.ToString();
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
return "";
}
}
}
}

A++
-------------------------
Trambert le vert
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Putain chuis trop con, j'ai l'impression de pas savoir lire, coq...

Enfin bon.. Comme ça y a dja le code pour les suivants..

-------------------------
Trambert le vert
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
lol

Cocoricoooooooo !!!!