【问题标题】:How to select ethernet or wifi to send TCP?如何选择以太网或wifi发送TCP?
【发布时间】: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),这显然是错误的,您只需检查列表并找出其中的适配器该列表是您要使用的列表

标签: c# tcp ip wifi ethernet


【解决方案1】:

使用哪个接口由本地路由表决定。电缆接口(通常)更快,因此它会获得较低的网络指标,因此是首选。对于 DHCP 客户端,也可以从 DHCP 服务器进行配置(如果允许手动设置)。

根据您的系统,您可以操纵接口的网络指标(可能需要为此停用 DHCP),如果您更喜欢无线,只需将其指标降低到以太网接口以下。或者,您可以将要通过无线传输的某些服务的路由添加到具有较低指标的无线接口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    相关资源
    最近更新 更多