# Dotnet > Gnral Dotnet > Rseau >  Choisir la bonne adresse IP pour une socket

## jackk

Bonjour,

j'ai un petit problme avec la cration d'une socket d'un client TCP. J'ai repris le code d'un exemple sur msdn. C'est cette partie qui pose problme:


```

```

l'adresse IP que je dsire utiliser n'est pas forcment en position 0 dans la liste. Je n'arrive pas  dterminer quels sont les attributs qui me permettraient de pointer la bonne adresse IP. En l'occurrence, j'ai le choix entre 3 adresses IPV4 car j'ai install VMware sur mon systme et 2 adresses sont automatiquement cres.

Je prcise que je souhaite rester en IP auto car les rseaux sont diffrents selon que je travaille chez moi o sur mon lieu de travail.

Merci pour vos solutions.

----------


## Nathanael Marchand

et pourquoi pas IPAddress.Any ?  ::D: 
http://msdn.microsoft.com/en-us/libr...dress.any.aspx

----------


## jackk

Merci d'avoir rpondu.




> et pourquoi pas IPAddress.Any ?


Parce que je ne programme pas un serveur  l'coute de tout ce qui bouge, mais un client dont seule la bonne adresse correspond  ma connexion rseau.

A+

----------


## ketan

Bonjour,

Si le but c'est de faire un client qui se connecte sur un serveur prsent sur la machine de dveloppement (et que le serveur n'est pas en coute sur une adresse prcise), pourquoi ne pas te connecter en indiquant localhost (ou l'adresse de loopback locale 127.0.0.1) ???

----------


## jackk

non, le serveur est sur une machine distante.

Mon problme, c'est que VMware cre des cartes rseau virtuelles alors que moi, je veux sortir sur la carte rseau relle.

Voici un extrait de ce que me sort ipconfig:


```

```

pour crer mon EndPoint, j'ai besoin de rcuprer 192.168.1.148 et non pas 192.168.233.1 ou 192.168.16.1.

Bon, je pourrais ventuellement tester si l'adresse correspond  un des 2 adresses rseau avec lesquelles je travaille, mais je voulais savoir s'il y avait des attributs permettant de dterminer  quel type de matriel appartenait l'adresse IP.

A+

----------


## morgand

Il va te falloir un discriminant peut tre ... tout simplement un masque rseaux ... 

Ton IP : 192.168.1.148
VMWare : 192.168.X.Y
avec X <> 1 

Tu peux slectionner toutes les adresses IP qui sont sur le rseaux 192.168.1.X ??

----------


## Nathanael Marchand

> Merci d'avoir rpondu.
> 
> Parce que je ne programme pas un serveur  l'coute de tout ce qui bouge, mais un client dont seule la bonne adresse correspond  ma connexion rseau.
> 
> A+


Je vois pas trop ce que ca change d'couter sur les adresses cres par VMWare...

----------


## ketan

Dans cette histoire, quelque chose me choque un peu...

Tu nous dis ne pas savoir qu'elle ip de la machine prendre pour accder  internet (si je comprend bien).

On pense que c'est pour crer une Socket en coute mais tu nous dis que c'est pour te connecter  ton serveur.

Tu nous dis ensuite que ton serveur se trouve sur une machine distante.

En fait, l'adresse qu'il te faut, c'est juste celle de ton serveur pour crer ta socket.

Par qu'elle interface ton flux va sortir pour atteindre internet et ton serveur, c'est windows qui va s'en occuper.

----------


## Nathanael Marchand

> Dans cette histoire, quelque chose me choque un peu...
> 
> Tu nous dis ne pas savoir qu'elle ip de la machine prendre pour accder  internet (si je comprend bien).
> 
> On pense que c'est pour crer une Socket en coute mais tu nous dis que c'est pour te connecter  ton serveur.
> 
> Tu nous dis ensuite que ton serveur se trouve sur une machine distante.
> 
> En fait, l'adresse qu'il te faut, c'est juste celle de ton serveur pour crer ta socket.
> ...


Ah oui c'est trs juste, j'avais pas vu que c'tait pour un client TCP.
Donc effectivement, quand tu fais une rsolution DNS de ton serveur, ce que tu trouves n'a rien  voir avec ce qui est retourn avec ipconfig...
Si tu rsouds google-public-dns-a.google.com tu trouveras toujours 8.8.8.8 quelque soit ton nombre de cartes rseau et leur configuration.

----------


## jackk

mille excuses de vous avoir fait perdre votre temps. Effectivement, mon code cherchait  se connecter  un serveur local.

Encore merci  tous.

----------

