c# – WebClient和多个网络适配器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – WebClient和多个网络适配器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2362字,纯文字阅读大概需要4分钟。
内容图文
我正在使用WebClient尝试从本地连接到我的PC的硬件获得字符串响应.我的电脑有一个连接到局域网的网络适配器和一个仅连接到我的硬件的第二个适配器.
如果我使用带有URL的IE:http://169.254.103.127/set.cmd?user=admin+pass=12345678+cmd=getpower我会回复一个字符串作为响应.我试图使用以下代码片段来实现同样的事情:
using (WebClient client = new WebClient())
{
client.Proxy = WebRequest.DefaultWebProxy;
client.Credentials = CredentialCache.DefaultCredentials;
client.Proxy.Credentials = CredentialCache.DefaultCredentials;
client.Headers["User-Agent"] =
"Mozilla/4.0 (Compatible; Windows NT 5.1; MSIE 6.0) " +
"(compatible; MSIE 6.0; Windows NT 5.1; " +
".NET CLR 1.1.4322; .NET CLR 2.0.50727)";
String test = client.DownloadString(@"http://169.254.103.127/set.cmd?user=admin+pass=12345678+cmd=getpower");
}
如果我禁用连接到LAN的网络适配器,则此代码段有效,但否则会超时.
有人可以解释为什么会发生这种情况以及我需要做什么才能将请求路由到正确的网络?
解决方法:
您的问题依赖于网络适配器使用的默认度量标准.
简短的回答
已达到本地适配器设置(连接到您设备的设置) – >属性 – > IP v4属性 – >高级 – >取消选中自动指标 – >设置一个默认值,如900.
说明
度量标准是您的操作系统用于选择特定目的地的最佳方式(通常是当您有多条路线可用于同一目的地时)
您的LAN适配器可能有一个默认网关,您的操作系统会自动定义该指标.
由于此网关是手动或通过DHCP定义的,因此默认情况下,Windows将在此适配器上使用比具有自动link-local address的其他适配器更好的度量标准.
这意味着您的操作系统将优先选择默认网关(LAN)转到169.254.103.127而不是您的本地卡
您可以使用此命令检查路线和指标:
route print
例如,在我的计算机上使用默认配置:
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 276 // Default gateway
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
169.254.0.0 255.255.0.0 On-link 169.254.239.60 261 // Where you want to go
169.254.239.60 255.255.255.255 On-link 169.254.239.60 261
169.254.255.255 255.255.255.255 On-link 169.254.239.60 261
192.168.1.0 255.255.255.0 On-link 192.168.1.100 276
192.168.1.100 255.255.255.255 On-link 192.168.1.100 276
192.168.1.255 255.255.255.255 On-link 192.168.1.100 276
如276> 261,对169.254.103.127的ping将采用lan 192.168.1.100而不是169.254.239.60
内容总结
以上是互联网集市为您收集整理的c# – WebClient和多个网络适配器全部内容,希望文章能够帮你解决c# – WebClient和多个网络适配器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。