Conexão TCP / IP em uma interface específica

Gostaria de me conectar a um servidor usando uma das duas rotas de rede. Como alguém faria isso? Eu pesquisei bastante, e a resposta comum é mexer na tabela de roteamento, mas isso não ajuda, já que o destino tem um único endereço IP. A maioria dos exemplos apresenta um cliente com uma única placa de rede e um servidor com vários NICs, mas é o oposto neste caso.

O aplicativo ForceBindIP parece ser capaz de oferecer esse tipo de funcionalidade, então eu acho que deve ser possível.

             +----->-------+
192.168.1.3  |      B      |          192.168.1.4
      +--------+      +--------+      +--------+
      | Client |      | Switch |-->---| Server |
      +--------+      +--------+      +--------+
192.168.1.2  |      A      |
             +----->-------+

Eu provavelmente vou estar usando C ++ e winsock para fazer isso. Precisarei ser capaz de abrir uma conexão em uma determinada rota à vontade (ou seja, não deve estar vinculada estaticamente a uma rota específica). Eu vou estar usando simples TCP / IP.

EDIT: cliente do Windows 7

questionAnswers(1)

yourAnswerToTheQuestion