【发布时间】:2023-11-16 21:55:01
【问题描述】:
我想使用两条网络路由之一连接到服务器。如何做到这一点?我用谷歌搜索了很多,常见的答案是摆弄路由表,但这无济于事,因为目的地只有一个 IP 地址。大多数示例都具有具有单个网卡的客户端和具有多个 NIC 的服务器,但在这种情况下正好相反。
ForceBindIP 应用似乎能够提供这种类型的功能,所以我想它一定是可能的。
+----->-------+
192.168.1.3 | B | 192.168.1.4
+--------+ +--------+ +--------+
| Client | | Switch |-->---| Server |
+--------+ +--------+ +--------+
192.168.1.2 | A |
+----->-------+
我很可能会使用 C++ 和 winsock 来完成此操作。我需要能够随意打开给定路由上的连接(即不能静态绑定到特定路由)。我将使用普通的 TCP/IP。
编辑:Windows 7 客户端
【问题讨论】:
-
在 linux 上,您可以使用 SO_BINDTODEVICE(如果您有两个设备)或在连接之前使用普通的 bind() 来区分本地 IP。
-
谢谢,但使用的是 Windows 客户端
-
Windows 绑定具有相同的功能,您指定要绑定到哪个 IP:msdn.microsoft.com/en-us/library/windows/desktop/…