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