Le contrôle de la Carte Réseau TCP/IP message sont envoyés sur

Le système que je suis en train de travailler sur se compose d'un contrôleur PC exécutant XP avec .Net 2 connecté à un ensemble de systèmes embarqués. Tous ces composants communiquent les uns avec les autres sur un réseau ethernet. Je suis actuellement à l'aide TcpClient.Se connecter sur l'ordinateur XP pour ouvrir une connexion pour les systèmes embarqués à envoyer TCP/IP les messages.

J'ai maintenant de connecter le XP ordinateur à un réseau externe pour envoyer des données de traitement, il y a donc désormais deux cartes réseau sur l'ordinateur XP. Cependant, les messages envoyés sur le réseau externe ne doit pas apparaître sur le réseau reliant les systèmes embarqués ensemble (ne pas vouloir consommer de la bande passante) et les messages pour les systèmes embarqués ne doit pas apparaître sur le réseau externe.

Donc, l'affirmation que je fais est que les messages envoyés à une adresse IP définie sont envoyés sur les deux cartes réseau lors de l'utilisation de la TcpClient.Méthode de connexion.

Comment puis-je spécifier quelle carte réseau physique les messages sont envoyés via, idéalement à l'aide de l' .Net mise en réseau de l'API. Si une telle méthode existe .Net, alors je peux toujours P/Invoke l'API Win32.

Skizz

Ne qui dépendent de l'adresse IP que vous souhaitez atteindre?, ou sont-ils dans le même sous-réseau?
l'adresse IP du réseau externe (pas le réseau intégré) est totalement hors de mon contrôle. Les politiques sur ce réseau pour les administrateurs système, des sites où la machine sera utilisée (cela pourrait être une adresse statique, dhcp, même sous-réseau sous-réseau différent, transporteur pidgeon, etc).

OriginalL'auteur Skizz | 2008-09-08