我正在尝试使用以下代码检测以太网电缆断开 / 连接状态。我没有得到所需的结果,因为它与以太网一起返回 Wi-fi 网络的状态。如何单独获取以太网端口的状态?
using System.Net.NetworkInformation;
bool isNetworkCableConnected = NetworkIntece.GetIsNetworkAvailable();
请分享任何建议。
要获得仅以太网连接,您首先必须筛选以太网接口:
NetworkIntece[] adapters = NetworkIntece.GetAllNetworkInteces();
var ethOnly = adapters.Where( x => x.NetworkInteceType = NetworkInteceType.Ethernet );
可能还包括Ethernet3Megabit
和GigabitEthernet
。
然后,您可以检查生成的适配器的连接:
// check first adapter for connectivity
bool upAndRunning = ethOnly[0]?.OperationalStatus == OperationalStatus.Up ?? false;
请注意,操作状态取决于更多的事情,而不仅仅是插入或拔出的电缆。如果启动,您可以非常有信心,电缆存在并且完好无损。但是,如果未启动,则无法知道丢失的电缆是否是罪魁祸首。
tl / dr:我认为您可以获得的最接近的是监视操作状态,而不是专门电缆(= 第 0 层)状态。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(41条)