我在 C# 中实现了一个发现协议(DNS-SD)。我有一个小问题:当我的程序运行时,我需要检测何时建立新连接(插入网线或加入 wifi),以在这些网络上宣布自己。
但是如何检测呢?我看过一些代码来获取网卡的当前状态,但没有事件,我想避免对网卡状态进行一些轮询。
我在 C# 中实现了一个发现协议(DNS-SD)。我有一个小问题:当我的程序运行时,我需要检测何时建立新连接(插入网线或加入 wifi),以在这些网络上宣布自己。
但是如何检测呢?我看过一些代码来获取网卡的当前状态,但没有事件,我想避免对网卡状态进行一些轮询。
您可以使用GetIstNetworkAvailable
- 方法检查是否有网络连接。每当它发生变化时,NetworkAvailabilityChanged
就会触发事件。有关详细信息,请参阅此问题。
如果您想跟踪不同的可用性,这里有一个关于如何执行此操作的示例。NetworkInterfaces