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