我有一个通过WiFi直接连接控制摄像头的应用程序。它通过使用NetworkAdapter.NetworkReport.AvailableNetworks枚举可用网络然后调用NetworkAdapter.ConnectAsync进行连接来连接到摄像机。 这适用于大多数系统。但是,在某些系统上,似乎与已安装的VPN存在冲突。如果系统上安装了VPN,则有时在连接网络后,无法正确路由WiFi直连设备上的特定IP地址。 (请求始终是此设备上的IP地址)。这些请求似乎被VPN错误地路由,无法解决。真奇怪的是,这有时只会发生。我可以连续五次发出相同的请求,其中4个可能会失败,但一个成功。
问题 - 如何暂时禁用VPN,或者至少阻止它干扰此特定连接请求的路由?
NetworkAdapter类似乎没有关于处理路由或VPN的任何内容。 我查看了VPN名称空间 https://docs.microsoft.com/en-us/uwp/api/windows.networking.vpn.vpndomainnameinfo 但这似乎主要是关于在设备上设置VPN并需要特殊的商店权限才能使用。 WiFiDirectDevice类似乎是关于设置与主机设备的WiFiDirect连接,而不是连接到其他设备。
答案 0 :(得分:0)
首先想看看这里是否存在VPN路由冲突。您可以通过从命令提示符运行以下命令来执行此操作
route print -4
这将以
之类的格式打印出路线Interface List
23...ee 15 36 22 ea 9b ......Hyper-V Virtual Ethernet Adapter #2
2...ee 15 36 41 e5 b6 ......Hyper-V Virtual Ethernet Adapter
52...........................MSIT AutoVPN
17...b6 ae 2b c4 41 b4 ......Microsoft Wi-Fi Direct Virtual Adapter
11...b6 ae 2b c4 44 b4 ......Microsoft Wi-Fi Direct Virtual Adapter #3
14...b4 ae 2b c4 40 b5 ......Marvell AVASTAR Wireless-AC Network Controller
9...b4 ae 2b c4 40 b6 ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.100 35
查找标记到VPN接口的路由,看它是否位于您尝试访问的路由中。然后,您可以使用route.exe Add命令为您尝试连接的IP地址
添加更具体的路由