Как узнать онлайн продолжительность работы сетевого устройства? - PullRequest
1 голос
/ 17 ноября 2010

image showing the online duration of network device

я хочу, чтобы моя программа на c # могла отображать продолжительность работы сетевого устройства в режиме онлайн.Я пробовал NetworkInterface класс, но он не имеет этой информации.

Ответы [ 2 ]

1 голос
/ 07 июля 2015

Прежде всего, вы должны найти это устройство сетевого интерфейса. Вы можете сделать это с помощью GetAllNetworkInterfaces () . Теперь у вас есть сетевой интерфейс. После этого сетевой интерфейс отправляет этот метод.

static void getCurrentNicLifeTime(NetworkInterface adapter)
    {
        IPInterfaceProperties adapterProperties = adapter.GetIPProperties();

        UnicastIPAddressInformationCollection uniCast = adapterProperties.UnicastAddresses;

        if (uniCast.Count > 0)
        {
            foreach (UnicastIPAddressInformation uni in uniCast)
            {
                DateTime when;
                when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressValidLifetime) - TimeSpan.FromSeconds(864000);
                when = when.ToLocalTime();

                Console.WriteLine(DateTime.UtcNow.ToLocalTime() - when);
            }
        }
    }

Вы также можете просмотреть этот пример.

1 голос
/ 17 ноября 2010

Попробуйте получить его через RAS (Служба удаленного доступа), используя DotRas (http://dotras.codeplex.com/),, который «Предоставляет компоненты службы удаленного доступа (RAS) для языков .NET, таких как C #, VB.NET и C ++ CLR»).как указано на сайте.

При проверке функции RasGetConnectionStatistics ( документация MSDN ) я обнаружил, что она возвращает структуру ( RAS_STATS ), которая имеет поле "dwConnectDuration"в нем.

Надеюсь, DotRas предоставит вам простой способ доступа к этой функции в C # вместе со всеми данными, которые она возвращает.

Ссылки:

http://bytes.com/topic/net/answers/484607-bytes-sent-received-network-adapter http://channel9.msdn.com/forums/TechOff/69065-Creating-a-RAS-connection-with-C/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...