Can an application can choose which network adapter it wants to communicate with, and how would that be done?
I found the following on the Microsoft website:
Network List Manager
"The Network List Manager API enables applications to retrieve a list of available network connections. Applications can filter networks, based on attributes and signatures, and choose the networks best suited to their task."
Assume I have several network connections listed under "Control Panel\All Control Panel Items\Network Connections". Each network connection goes to it's own private LAN.
I would like to write a program which communicates with only one of my network adapters, instead of broadcasting my request to "The Network" in general.
And I would like another program to simultaneously communicate with only one different network adapter, and not "The Network" in general.
So I would like both network adapters to be working at the same time. But I don't want these two network adapters to be connected together -- I don't want any "networking" between these two adapters. In fact I would not like either network adapter to be connected to "The Network", because I cannot guarantee there will never be an IP Address Conflict between these two private LANs. In fact there is quite likely to be the same IP address found on each LAN. So I don't want to connect either of these network adapters together in any way.
The only three solutions I've come up with are:
1. Communicate with each Network Adapter separately. One program communicates with Network Adapter A, another program communicates with Network Adapter B. Neither network adapter A nor network adapter B are connected to "The Network", so a web browser for example has no path to either private LAN. (So I don't have any IP Address Conflict problems.)
(I'm a bit unclear on what "The Network" is. It's whatever other programs, such as a web browser connect to. There must be some part of the operating system that comes between the Network Adapters and a program that wants to connect to "The Network". I'm unclear on what that is and how it works. I believe there's a Routing Table involved.)
2. Or, somehow introduce a software NAT router between Network Adapter A and "The Network", and a second NAT router between Network Adapter B and "The Network". (I haven't quite found any software routers with Network Address Translation (NAT).)
3. Or, introduce a physical NAT router between each private network and me. Each private network has it's own real physical NAT router to isolate it from me, so I don't have any IP Address Conflicts. (This is the easiest conceptually, and the hardest to actually implement, which is why I'm researching alternative solutions.)
This is why I was intrigued when I saw the phrase, "Applications can choose the network best suited to its task." Is that possible?