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

标签 c# compact-framework networking windows-ce ethernet

我需要一段代码来检测网络连接是连接还是断开。连接状态意味着电缆已插入以太网连接。断开连接状态意味着没有电缆连接。

由于我在 Windows CE 上运行,所以我无法使用 WMI 接口(interface)。我不介意调用 Win32 API,但请记住我使用的是 Windows CE 并在 Compact Framework 上运行。

最佳答案

最简单的方法是使用 OpenNETCF's SDF并查看 OpenNETCF.Net.NetworkInformation.NetworkInterfaceWatcher class ,这将在 NDIS 发出通知(如 MEDIA_CONNECT 和 MEDIA_DISCONNECT)时引发事件。

当然,您可以在没有 SDF 的情况下完成同样的工作。它涉及直接调用 NDIS 驱动程序并调用 IOCTL_NDISUIO_REQUEST_NOTIFICATION带有 P2P 消息队列句柄。这并不过分困难,但您必须做很多事情才能使其正常工作而不泄漏。

关于c# - 在 C# 中检测网络状态(连接 - 断开连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936027/

相关文章:

c# - Dotcover 代码覆盖率 : Getting empty results from command line

c# - 如何在 XNA 中逐像素绘制 2D?

c# - 聚合包含表达式上的 Entity Framework "Code supposed to be unreachable"

c# - 结构是存储一组值的好选择吗?

windows-mobile - 在 Windows Mobile 编程中旋转图像

java - 发送大文件(~ 1GB)失败并出现 SocketException

java - 为什么我的服务器和客户端在服务器 Activity 开始时断开连接?

ubuntu - 没有延迟测量增加请求数

.NET Compact Framework 的日志库?

c# - .NET CF——根据InputPanel状态设置表单高度