我有一台服务器,有 3 个不同的网卡和 3 个不同的 IP 地址。我想编写一个小套接字程序来选择使用哪个网卡来发送消息。我只是想知道是否可以或者我们只能使用一张网卡?
我的socket服务器是一个Web服务器(当然,它运行在80端口上,可以通过互联网访问)。我创建了一个套接字 (C#) 并在向 Web 服务器发出请求之前绑定了我的 IP 地址之一。不幸的是,我运气不好,请求无法发送。
更新:我是Windows,如何同时使用多个网卡。我尝试将 IP 绑定到套接字,但只有一个 IP 正在工作。当其他人无法工作时,每个人都能很好地工作。我期待着解决这个问题。谢谢!
非常感谢您的任何建议。 谢谢并致以问候。
这个答案与 C 更多相关,但在 C# 中应该类似。
在机器上绑定套接字之前,您调用
getaddrinfo()
,它返回一个指向地址链接列表的指针。然后从那里您选择要绑定的一个。您不同的网卡地址都会在那里,所以只需选择您想要的并绑定到该地址即可。
编辑:这个问题也可能有帮助
绑定到地址 0.0.0.0,您的套接字将侦听您机器上可用的所有地址。