bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007
-
1 juin 2004 à 11:03
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
1 juin 2004 à 13:43
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 ;-)
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 1 juin 2004 à 12:27
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
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007 1 juin 2004 à 13:36
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 "";
}
}
}
}