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

C# Discussion :

Récupérer IP client


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut Récupérer IP client
    Bonsoir à toutes et à tous,

    j'écris un serveur en utilisant UDP comme protocole. C'est une application C# destinée à etre utilisée en Console. J'ai donc une boucle ou j'attend qu'un client m'envoie un message pour le traiter, seulement j'aimerais bien récupérer l'IP du client? Es-ce possible?

    Voici le code que j'ai pour l'instant :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    // Déclaration des variables
    			int port_serveur;			
    			EndPoint sock_serveur;            
    			IPAddress[] addr_ip_serveur;			
    			IPHostEntry host_serveur;
    			IPHostEntry host_client;
    			Socket sock;
    			string nom_serveur;
     
    			port_serveur= 4444;
     
    		// Nom de la machine
    		nom_serveur= Dns.GetHostName();
     
    			// Structure HOST du serveur
    			host_serveur= Dns.GetHostByName(nom_serveur);
     
    			// Liste des adresses IP du serveur
    			addr_ip_serveur= host_serveur.AddressList;
     
    			// Structure équivalente SOCKADDR_IN du serveur
    			sock_serveur= new IPEndPoint(addr_ip_serveur[0], port_serveur); 
     
    			// Ouverture de la socket
    			sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.IP);
     
    			// Attachement à une adresse
    			sock.Bind(sock_serveur);
     
    			// En attente d'un message...
    			byte[] message_recu= new byte[256];
    			EndPoint sock_client;
    			// Creates an IPEndPoint to capture the identity of the sending host.
    			IPEndPoint client = new IPEndPoint(IPAddress.Any, 0);
    			sock_client = (EndPoint)client;
     
    			Console.WriteLine("*** Serveur lancé sur " + nom_serveur + "*** ");
    			while(true)
    			{	
    				if( Console.ReadLine().Equals("quit"))
    					break;
    				sock.ReceiveFrom(message_recu, ref sock_client);
    			}
    			sock.Close();
    Je récupère donc les données du client dans sock_client, mais comment puis-je avoir son IP?

    Merci d'avance
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Par défaut
    Salut,

    Je suis vraiment débutant en C#, ASP, SQL etc...

    Je sais pas si j'ai saisi, mais si mon message est hors sujet, tu l'effacera.

    Request.UserHostAddress.ToString()

  3. #3
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Salut,

    En fait en affichant sock_client, j'ai remarqué que cette variable était contenue de l'IP et du port, tout ce que je voulais donc

    Merci et désolé du dérangement.

    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remoting, récupérer ip client derriere routeur.
    Par giova_fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/06/2011, 19h20
  2. Récupérer certificat client
    Par toopac dans le forum Services Web
    Réponses: 3
    Dernier message: 16/03/2011, 12h25
  3. Récupérer clic (client) sur checkbox coté serveur
    Par oclone dans le forum ASP.NET
    Réponses: 3
    Dernier message: 28/02/2009, 11h19
  4. Récupérer ip client
    Par mileau dans le forum Struts 2
    Réponses: 4
    Dernier message: 03/03/2008, 11h59
  5. Récupérer IP client
    Par mat10000 dans le forum Apache
    Réponses: 2
    Dernier message: 17/10/2005, 11h16

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