C# 基于C语言的以太网电缆断开检测#

C# 基于C语言的以太网电缆断开检测#,c#,ethernet,C#,Ethernet,我需要检测系统中的以太网电缆断开,同样,我使用以下代码来检测系统中所有可用网络的变化 using System; using System.Net; using System.Net.NetworkInformation; namespace Examples.Net.AddressChanges { public class NetworkingExample { public static void Main() {

我需要检测系统中的以太网电缆断开,同样,我使用以下代码来检测系统中所有可用网络的变化

using System;
using System.Net;
using System.Net.NetworkInformation;

namespace Examples.Net.AddressChanges
{
    public class NetworkingExample
    {
        public static void Main()
        {
            NetworkChange.NetworkAddressChanged += new
            NetworkAddressChangedEventHandler(AddressChangedCallback);
            Console.WriteLine("Listening for address changes. Press any key to exit.");
            Console.ReadLine();
        }
        static void AddressChangedCallback(object sender, EventArgs e)
        {

            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface n in adapters)
            {
                Console.WriteLine("   {0} is {1}", n.Name, n.OperationalStatus);
            }
        }
    }
}
我的要求是,当“Ethernet”的“operational status”为“down”时运行一组代码,当“Ethernet”的“operational status”为“Up”时运行另一组代码

我对这个很陌生,所以我不能使用操作状态来进行所需的编程。
有人能帮我吗?

你检查过这个问题吗?总体目标是什么?请记住,以太网或其他网络连接的状态,无论它是最新的,都不会告诉您任何关于代码在不久的将来使用网络执行某些操作的能力。检查您的程序是否可以访问internet/网络不是更好吗?这看起来像是一个案例。你到底想在这里实现什么?@Damien我的目标是使用以太网连接从远程服务器(PLC)发送和接收数据。当以太网电缆断开时,我需要停止执行这段代码。你是说,当你没有连接到服务器时?如果您的网络仍处于关闭状态,以太网电缆有什么好处?问题是,如果你问“我如何做X”,我们只能回答“如何做X”,如果可能的话。但是,如果您真的想做Y,比如在无法到达特定服务器时进行检测,那么您需要询问这个问题。在这种情况下,我怀疑Y的答案比X更容易处理。所以,问问你的最终目标是什么,而不是你目前对最终目标的解决方案。也许有一个更容易的不同解决方案。