【发布时间】:2017-12-22 22:51:15
【问题描述】:
这是我的问题:我的电脑通过以太网电缆连接到互联网,并且还连接到了 wifi 模块。但是当我想向我的模块发送 TCP 时,它总是默认选择以太网。
我必须断开电缆才能将 TCP 发送到我的模块,但我需要这两个连接并且知道如何在它们之间进行交换。
如何在 c# 中选择我想要的接口? 我可以在一个程序中交换它们吗? 我已经在使用 System.Net 和 Managed Wifi API。
感谢您的回答。
编辑:
正如@Someprogrammerdude 和@sam 建议的那样,我使用socket.bind() 和我的wifi 默认网关的IP 地址在其上发送TCP。但是当我尝试绑定时,出现the requested address is not valid in this context 错误。所以我检查了默认网关地址(sry french):
ipconfig
我们可以看到我的 wifi 默认网关是 192.168.1.2 和以太网 192.168.1.1。我试图“手动”放置它们,但我得到了相同的结果.. 这不可能是我在模块上检查自己打开的端口
编辑 2: Nvm,我必须绑定 192.168.1.100,而不是 192.168.1.2。谢谢你的回答,对我帮助很大。
【问题讨论】:
-
您可以将套接字绑定到特定接口。
-
@Someprogrammerdude,您只能选择绑定的地址和端口,我想选择是否可以另外选择wifi或以太网
-
@Nazoum 你不是真的选择wifi或以太网,你选择网关的ip
-
@Nazoum 在我提供给您的链接中,在您的情况下始终使用列表的第一个地址(FirstOrDefault),这显然是错误的,您只需检查列表并找出其中的适配器该列表是您要使用的列表