Well, the OS itself handles prioritizing the traffic, so it would be
worthwhile to make sure that what's already there for that isn't what you
need. It will depend on the usage pattern (long term TCP connection and
frequent loss of high-speed network signal, or short term connection and
occasional change of networks).
I suspect that this is going to be too specific to your application to be
generally available. Here's a little scenario that might show why:
You're connected, via TCP, to a server with which you are exchanging data.
Suddenly, you pass out of range or into a dead spot for 802.11. It will
take some time for this to be detected, so there's a delay built in. If the
TCP connection decides that it's dropped, then your socket will indicate
that fact and you'll have to establish a connection another way. Let's say
that it's GPRS. The connection is established and you connect to the server
with TCP again. Do you now change what goes to the server? Only the
application knows the meaning of what it's sending. A few moments later,
you pass back into an area of 802.11 coverage. You can't just change how
the TCP packets are sent to the server. Your connection was established
from the GPRS adapter. To change, you have to break that connection,
reestablish the TCP connection with 802.11 and proceed from there. Knowing
which packets go and when which networks are connected is another
you're-the-only-one-who-knows thing.
Maybe someone else has heard of some component that does this sort of thing,
but I haven't. I think that this is something you'll have to build
yourself. As I said, OpenNETCF can help you know when new networks show up
and old ones go away. The OS will choose the 'lowest-cost' method of
establishing a connection, so you may be able to use that fact to avoid
having to bind to a specific adapter when making connections. Your code
code wrap that connection control with something through which the
application could send various types of 'packets' (not network packets, but
packets that mean something to you), and the wrapper could decide whether to
send them now or not.
Paul T.