begin process at 2010 02 10 00:19:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Réseau & Internet

 > 

Client - Serveur

 > 

Adresse IP d'un TcpClient


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Adresse IP d'un TcpClient

mercredi 14 juin 2006 à 15:38:55 | Adresse IP d'un TcpClient

Thufenn

Bonjour tout le monde, Voilà mon pb. j'ai un systeme client-serveur dans lequel mes clients envoie des ordres d'executions (avec une connexion TCP), le serveur stocks les demandes et les traitent au fur et à mesure. Quand le traitement est fini, je voudrais retourner un petit message (style net send) au pc qui a fait la demande que le serveur viens de traiter. Bien evidement le contexte fait que je ne peux pas conserver la connexion TCP lors du traitement des demandes.Donc connaissez-vous un moyen de connaitre l'adresse IP lors de la reception des demandes du client ? voici un extrait simplifié du code serveur : MyTCPListener = new TcpListener(Dns.Resolve(Dns.GetHostName()).AddressList[0], PortServeur); MyTCPListener.Start(); while (!StopListen) { //Attente de connection... TcpClient client = MyTCPListener.AcceptTcpClient(); //Création du flux de données sous-jacent pour l'accès au réseau. NetworkStream ns = client.GetStream(); try { //Reception d'un message byte[] bytemsg = new byte[1024]; int bytesRead = ns.Read(bytemsg, 0, bytemsg.Length); string msg =Encoding.ASCII.GetString(bytemsg,0,bytesRead); TamponMsg.Add(Msg); //Fin de la Connection ns.Close(); client.Close(); } catch (Exception e) { MessageBox.Show(e.ToString()); } } D'avance merci
mercredi 14 juin 2006 à 15:43:36 | Re : Adresse IP d'un TcpClient

woot6768

Salut,
Euh comment dire...
Simplement...
Peu être illisible?
Oui ça me paraît bien comme mot.


_________________________________________________________________________
Woot
Alias Wouter Tjon.
mercredi 14 juin 2006 à 15:47:27 | Re : Adresse IP d'un TcpClient

Thufenn

Réponse acceptée !
désolé mais j'ai mis des saut de ligne dans mon message et il sont pas passé
mercredi 14 juin 2006 à 15:49:06 | Re : Adresse IP d'un TcpClient

fcolo

Membre Club
Réponse acceptée !
L'idée qui me vient est que plutot d'utiliser une ArrayList pour le TamponMsg, fait plutot un dictionnaire dans lequel la clé serait ton message et pour la valeur l'IP de l'émetteur.
Ensuite, lorsque tu traitera le message, tu récupèrera en plus l'IP.
Par contre, il faudra que l'emmeteur initial (qui sera ensuite le recepteur pour le message de confirmation) ait en internet un serveur TCP pour réceptionner cette réponse, donc un port d'écoute, donc il faudra aussi connaitre le port. Donc faire une structure IP/Port que tu sauvera dans le dictionnaire plutot que juste l'IP.

Je sais pas si ca peut t'aider et si je dis pas de connerie surtout ...

f.colo
mercredi 14 juin 2006 à 15:49:30 | Re : Adresse IP d'un TcpClient

woot6768

Si tu veu que quelqu'un te réponde, il va faloir que tu remette ton message en forme je pense;)
Parce-que perso j'ai même pas envie de lire ton morceau de code.
+


_________________________________________________________________________
Woot
Alias Wouter Tjon.
mercredi 14 juin 2006 à 16:04:33 | Re : Adresse IP d'un TcpClient

Thufenn

Réponse acceptée !
Merci F.colo pour ta réponse. Ce que j'ai mis n'ai qu'une version très très simplifié de ce que j'utilise. Les messages etant un peu complexe la structure utilisé n'est pas une arraylist de string mais une arraylist d'objet dans lequel il y a de quoi stocker un adresse IP. Mais mon soucis c'est que je ne sais pas comment obtenir IP à partir du TCPClient??? Pour ce qui est de l'envoie de la reponse vue que je compte utilise 'Net Send' il y aura pas besoin de serveur ni de port pour le recevoir (pour info net send fonctionne un 'peu' comme un MessageBox à qui tu donne le nom ou l'adresse ip de l'ordi sur lequel tu veux qu'il s'affiche après c'est windows qui gère)
mercredi 14 juin 2006 à 16:51:55 | Re : Adresse IP d'un TcpClient

fcolo

Membre Club
Réponse acceptée !
Avec un truc comme ca:

IPAddress ip = ((IPEndPoint)client.Client.RemoteEndPoint).Address;

J'ai pas tester, juste regarder ce que propose visual studio.
Ca me semblait bien c'eest tout :)

f.colo
jeudi 15 juin 2006 à 10:25:50 | Re : Adresse IP d'un TcpClient

Thufenn

Réponse acceptée !
Le soucis c'est que la propriété client de l'objet TCPClient est une propriété protégée, donc je n'y ai pas accès (erreur CS0122) Neanmoins la piste est assez interresante puisque en fait il semblerait que le seul endroit ou je puisse avoir accès à l'adresse IP soit au niveau du socket. Je vais donc essayer de remplacer : TcpClient client = MyTCPListener.AcceptTcpClient(); par quelque chose du genre : Socket MySocket = MyTCPListener.AcceptSocket(); après il faudra aussi modifier la reception des messages. Merci F.colo


Cette discussion est classée dans : serveur, client, ip, adresse, bytemsg


Répondre à ce message

Sujets en rapport avec ce message

Récupérer l'adresse IP [ par thebigboss ] Bonjour,je voudrais savoir comment faire pour récupérer son adresse IP et celle d'un message posté sur un port.Je m'explique, je suis archi nul en rés client / serveur = > avec adresse ip public [ par 10demon10 ] Bonjour à tousVoila j'ai modifié une source de client / serveur trouver sur codes sources et tous fonctionne correctement (ajout de plusieurs clients optenir l'adresse publique de sa machine c# [ par 10demon10 ] Bonjour à tous Voila j'ai une nouvelle problématique sur mes petites socket, j'ai no-ip de configurer comme il faut ac mon modem-routeur (les ports et Adresse IP réel [ par jgthibault ] Bonjour, je voudrais savoir s'il est possible d'avoir l'adresse ip réel (pas l'adresse local) d'un ordinateur.Explication :Je veux faire un petit jeux CLient/serveur séparés par un proxy [ par thebigboss ] Salut,je suis toujours en tran de me battre avec mon MSN like. J'ai un serveur et un client. Le client se connecte au serveur via un port et l'IP du s Socket URL [ par nicompx ] Bonjour, Je veux ouvrire un socket mais je ne connais pas l'adresse IP du serveur et bien son URL.Comment passer l'URL à la place de l'adresse IP. problème connexions externe client/serveur [ par azuss14 ] J'explique mon problème, je souhaite créer une connexion client/serveur, ceci fonctionne très bien en local, les applications échangeant un flux grâce Chat client serveur c# [ par didygwatinik ] Salut tout le monde Je suis actuellement en train de faire une application chat en client serveur. Mon programme est séparée en 3 couches : serveur, i Application chat client / serveur [ par didygwatinik ] Salut, Je suis en train de faire un chat en c#, pour l'instant tout fonctionne, du coup j'aurai aimé ajouté une fonctionnalité : les discussions priv Connexion Client/serveur en C# vers C [ par rebelattack ] Bonjour a tous, Je souhaiterais faire un client en visual sous forme d'une fentre et qui soit relier a un serveur qui lui est en C. Cela est t-il poss


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales