Winsock et 2 cartes réseaux

Signaler
Messages postés
4
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
11 novembre 2006
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
J'ai un PC équipé de 2 cartes réseau connectés sur 2 réseaux completement distinct avec 2 adresses IP différentes (exemple: 192.168.0.1 et 192.168.10.1)

Comment faire pour que mon programme VB6 (winsock) écoute sur la bonne carte réseau ?

J'utilise le mode TCP/IP et le mode UDP/IP
mon prog actuel pour le mode TCP:
    winsock.localport=1000
    winsock.listen
dans la procedure ConnectionRequest
    winsock.accept requestID

PS: actuellement si cela ne fonctionne pas, il faut que j'inverse mes cables reseaux ainsi que mes adresses IP dans le panneau de configuration.

merci d'avance pour vos réponses.

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Tiens, amusant comme problème.
Au bureau, j'ai la même configuration et je n'ai jamais eu de problème.
Peut être suffit-il de spécifier le LocalHostIP avant de passer en Listen ? je ne sais pas si c'est autorisé

Il faudrait se renseigner pour savoir si les Ports (de 0 à 65535) appartiennent à la carte ou au PC.
S'ils appartiennent à la carte, en effet, problème possible
S'ils appartiennent au PC (ce que je pense), les 2 cartes s'adressent à la même liste de ports, il ne devrait donc pas y avoir de problème.
Je penche pour cette dernière car :
Au bureau, deux réseaux : Un bureautique général et un plus tehnique (peu d'utilisateurs)
Sur mon appli, n'importe qui (client) peut se connecter à ma machine (serveur) et il arrive que certains utilisateurs (*) se connectent par le réseau 'technique', alors que je n'ai rien configuré de spécial côté Winsock.
(*) qui eux aussi ont 2 cartes réseau sur les 2 mêmes réseau

Il faudrait vérifier côté config des cartes, s'il existe une notion de passerelle entre réseau. Attention toutefois, cela peut perturber les réseaux : Renseigne toi auprès de ton admin réseau si tu es sur un gros réseau d'entreprise.

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Est-ce que tes deux réseaux sont gérés par des routeurs ?
Si oui, regarde cette source qui permet de ne plus avoir à configurer l'adresse du serveur (recherche automatique par Broadcasting/Multicasting)
http://www.vbfrance.com/codes/OCX-CHERCHEUR-AUTOMATIQUE-SERVEUR_22252.aspx

ReVala
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Passerelle entre réseaux, normalement non pas en automatique. Une machine de ton réseau technique ne peut pas utiliser une ressource de ton réseau bureautique en utilisant ton PC comme passarelle si tu ne l'as pas explicitement configuré pour. C'est le principe des PC Firewall.

"certains utilisateurs (*) se connectent par le réseau 'technique'" Du fait qu'ils aient les 2 réseaux eux aussi par quel réseau se connecte-t-ils exactement, ce n'est peut-etre pas par le réseau technique.

"si les Ports (de 0 à 65535) appartiennent à la carte ou au PC" J'avoue que je ne me suis jamais posé la question et pensais betement qu'ils appartenaient à la carte.

Mais c'est vrai qu'il n'y a rien dans winsock pour dire sur quel réseau aller. Mais il n'y a rien non plus aux niveaux des cartes pour leurs attribuer tel ou tel port.

Normalement, les réseaux sont définis par l'adresse IP, ou plus exactement le couple adresse/masque. Suffit-il à Winsock de changer le localhost pour changer de réseau ?? Comment faire pour connaitre l'adresse à mettre alors ? Si elle est fixe ok. Mais dans le cas d'un réseau en DHCP ?

Je crois que c'est un véritable sujet qui a été soulever avec ce topic.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
les ports sont ceux du PC et sont d'ailleurs virtuels. c'est-à-dire qu'on parle du port 80 pour HTTP mais même là c'est faux...
on a beau configurer tout "comme il faut", il n'y a pas de réel port 80 qui existe où que ce soit.

quant au LocalHost c'est une propriété en lecture seule.
sujet intéressant mais à mon avis pas au point de soulever un débat

Jack a donné les bonnes pistes et les bonnes réponses concernant "l'abscence de problème réel", et comme le dit Casy un PC ne peut pas être Pont (passerelle, routeur) sans avoir été configuré pour.

tu ne pourras donc pas écouter "sur la bonne carte", tu écouteras et "la bonne carte" répondra à l'appel parce qu'il aura été fait sur la bonne IP et sur le port (Windows) en écoute

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp