在C#中检测网络状态(连接-断开)

5
我需要一段代码,可以检测网络连接的状态,包括连接和断开。连接状态表示以太网连接插入了电缆,而断开状态表示没有电缆连接。
由于我在运行Windows CE系统,所以无法使用WMI接口。但我可以调用Win32 API,但请记住我正在使用Windows CE并运行在Compact Framework上。

需要记住的一件事是,网络连接并不等同于互联网连接。听起来你已经明白了,因为你将“连接”定义为“电缆插入以太网连接”,但还是值得重申。 - Joel Coehoorn
4个回答

4

嗨,我从 https://opennetcf.codeplex.com/releases/view/137461 下载了2.3的二进制文件,但我在OpenNETCF.Net命名空间中找不到AdapterStatusMonitor... 我是不是漏掉了什么?谢谢! - franDayz
1
请查看 NetworkInterfaceWatcher http://opennetcf.codeplex.com/SourceControl/latest#OpenNETCF.Net/OpenNETCF.Net/NetworkInformation/NetworkInterfaceWatcher.cs - ctacke

2

该链接指向的“解决方案”不能检测电缆是否存在,而是检测主机是否可达。正如Joel所指出的那样,这两个概念完全不同。 - ctacke

1

调用GetAdaptersInfo并循环遍历可用网络适配器列表,直到找到您要查找的适配器?


0
需要记住的一件事是,网络连接并不等同于互联网连接。
听起来你已经懂了,因为你定义连接的意思是“插上以太网连接的电缆”,但这还需要再强调一遍。

是的,我明白了。我真的只想检测“电缆”连接状态。 - Bobby Cannon
@kelton52 同意。自2009年6月以来,规则已经改变 :) 我已经添加了评论,几分钟后我会删除它。 - Joel Coehoorn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接