TCP / IP-соединение по определенному интерфейсу

Я хотел бы подключиться к серверу, используя один из двух сетевых маршрутов. Как можно это сделать? Я немного погуглил, и общий ответ - возиться с таблицей маршрутизации, однако это не поможет, поскольку у адресата есть один IP-адрес. В большинстве примеров показан клиент с одной сетевой картой и сервер с несколькими сетевыми картами, но в данном случае все наоборот.

Кажется, что приложение ForceBindIP может предложить такую функциональность, поэтому я думаю, что это возможно.

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

Я, скорее всего, буду использовать C ++ и winsock для этого. Мне нужно будет иметь возможность открывать соединение по заданному маршруту по желанию (то есть не должно быть статически связано с конкретным маршрутом). Я буду использовать обычный старый TCP / IP.

РЕДАКТИРОВАТЬ: Windows 7 клиент

Ответы на вопрос(1)

Ваш ответ на вопрос