2009-08-06 10 views
0

Je programme avec Winsock2. J'ai deux cartes réseau dans le système, une pour les connexions locales (LAN), une pour les connexions externes (PPPOE). Lorsque j'effectue un appel connect() pour se connecter à l'adresse locale, il utilise l'adaptateur PPPOE au lieu du LAN. Je sais que je pourrais tordre cela en utilisant des mesures, mais ne puis-je pas utiliser un peu de code dur à forcer utiliser adaptateur LAN? Merci d'avance!Effectuez connect() sur une carte réseau spécifique

Répondre

0

Avant de vous connecter(), vous devez lier() à l'adresse IP de l'adaptateur LAN. Spécifiez simplement l'adresse IP et laissez le port ouvert (c'est-à-dire 0) pour que le système puisse en choisir un.

+0

J'ai essayé, mais ça n'aide pas. J'ai mis ce code http://paste.org/pastebin/view/9564 entre les appels socket() et connect(), et cela n'a aucun effet. –

+0

Comment savez-vous que cela n'a pas fonctionné? –

+0

Eh bien, le programme s'est comporté de la même manière que sans bind(): après un timeout, connect() a retourné SOCKET_ERROR. –

Questions connexes