c# - 从wifi转换到cable时如何检测c#上的连接被禁用?
问题描述
当网络连接被禁用时,我在网上搜索 C# 上的事件,我在 CodeProject 上看到了这篇文章,它使用来自 .NET 的 NetworkChange 类订阅事件 NetworkAvailabilityChanged 和 NetworkAddressChanged。
虽然它在处理连接网卡的事件方面做得很好,但在我的测试中,当我们从 wi-fi 连接转换(断开连接)到有线连接时,它不会引发事件。只是为了了解我的上下文,在大量重复的评论出现之前,这是我的设置:
- 我在 Wi-Fi 上连接了 Microsoft Surface,之前已连接电缆
- 我禁用了 wi-fi 连接,期望事件会被调用,但相反,它关闭并且连接转换到我的以太网本地卡而不引发任何事件。
您对如何解决这个问题有想法吗?或者您是否已经遇到过这样的情况?
任何想法都非常感谢。
谢谢。
解决方案
这只是一个想法,我不知道是否有任何方法可以解决这个问题。改变网络连接时,IP地址也在改变。您可以为 wifi 和以太网设置一个静态 ip,然后创建一个始终检查 ip 的函数。当有变化时,就意味着连接发生了变化。我不知道这是否可行,但也许这可能会对你有所帮助。
推荐阅读
- javascript - 使用正则表达式替换引号、句点、正斜杠和所有字母
- c# - '必须声明标量变量“@SKU”。'
- angular - 无法自定义 ng-image-slider 大小
- python - 在 ubuntu16.04 上编译的 Python 代码在使用 pyodbc 模块与 db 交互并给出 sql 异常时不起作用
- python - python - 当多列的条件在python中匹配时添加一行?
- python - 尝试从 ssm 运行 ec2 python 脚本时出现“ImportError:没有名为 sqlalchemy 的模块”错误
- java - 如何在 javafx 中创建这样的形状?
- javascript - 如何将模态添加到 Ionic 4 中的选项卡?
- couchbase - 出于性能原因清除存储桶很重要吗?
- django - django客户端测试和硒之间的区别?