Accueil > Forum > > > > Adresse IP d'un TcpClient
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
|
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
|
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
Erreur sur le serveur [ par elnk ]
Bonjour, j'ai un serveur en application console qui fonctionne très bien ( cad le client se connecte bien ) à lui en local avec, les adresses type 192
Mise a jour automatique d'un client lourd C# [ par PROTEUS91 ]
Hello à tous, Je viens de finir le codage d'un client lourd, mais genre très lourd. Maintenant que c'est fait je dois mettre en place une procédure d
requête SOAP perdue [ par Titi035 ]
Bonjour, J'ai parfois des requêtes "perdues" entre un client et un serveur SOAP. Une requete est envoyée par le client, mais le serveur ne la reçoi
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|