Conexión TCP / IP en una interfaz específica

Me gustaría conectarme a un servidor utilizando una de las dos rutas de red. ¿Cómo uno haría esto? He buscado en Google un poco, y la respuesta común es jugar con la tabla de enrutamiento, sin embargo, esto no ayudará ya que el destino tiene una única dirección IP. La mayoría de los ejemplos muestran a un cliente con una sola tarjeta de red y un servidor con varias NIC, pero en este caso es lo contrario.

La aplicación ForceBindIP parece poder ofrecer este tipo de funcionalidad, así que supongo que debe ser posible.

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

Lo más probable es que esté usando C ++ y winsock para hacer esto. Necesitaré poder abrir una conexión en una ruta determinada a voluntad (es decir, no debe estar enlazado estáticamente a una ruta en particular). Estaré usando el protocolo TCP / IP simple.

EDITAR: cliente de Windows 7