Comment assigner un winsock sous VB avec deux cartes ethernets ?

SERGEVB Messages postés 2 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 24 avril 2008 - 23 avril 2008 à 10:03
SERGEVB Messages postés 2 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2008 à 09:24
Bonjour
J'ai un PC avec deux cartes ethernets .
Une carte sur un reseau local ( adresse Ip et masque ..... specifiques ) .
L'autre sur une liaison que je dois gerer avec un soft ecrit sous VB6 .( adresse Ip et masque differents du reseau local  ) .

J'utilise l'objet winsock de VB ,mais celui ci prend par "defaut"  l'adresse du reseau local .
Je precise que le soft fonctionne correctement mais sur des PC avec une seule carte Ethernet .

Ma question comment assigner un winsock à une carte ethernet ?

Merci d'avance

Serge

2 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
23 avril 2008 à 23:23
Salut
Je ne suis pas sûr de moi, mais c'est un faux problème.
A mon avis, le winsock "serveur" est attribué à un port et pas à une adresse IP.
J'ai personnellement aussi une application à cheval sur deux réseaux.
Le serveur est assigné à un port et les postes clients se connectent indifféremment depuis un ou l'autre des réseaux.
Je n'ai jamais eu la curiosité de regarder ce que donne "LocalIP" du socket.
Pour info, regarde <cette source> : elle permet aux clients de rechercher le serveur sans avoir besoin de préciser l'IP du serveur

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
SERGEVB Messages postés 2 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 09:24
Bonjour

Merci de votre reponse .

Sur un PC avec deux cartes( deux ports ) ethernet ,si sous VB ( à mon avis c'est le meme constat en C++ et autre ) vous placez deux WINSOCK ,l'adresse ( LocalIP) va etre celle de la carte qui est en activitee ( cordon RJ45 connecte ) .

Pour assigner un Winsock à un port ethernet ,il faut utiliser la methode BIND en passant les parametres numero de port et adresse Ip de la carte ethernet que vous voulez utiliser .

Cordialement

Serge
0