Как определить, какой сетевой адаптер подключен к Интернету

Я пишу программу в C#, который должен контролировать сумму интернет-пропускной способности, использующейся в настоящее время, таким образом, это может сделать фоновую загрузку, когда использование Интернета является низким. Как я могу автоматически определить, какой сетевой адаптер тот подключен к Интернету?

6
задан Telanor 31 January 2010 в 19:20
поделиться

4 ответа

Вот действительный пример, где [super dealloc] должен быть последним, в противном случае вызов remureStartRunLoop вызовет сбой. Я не уверен, что происходит внутри системы NSOutableStream, но в этом случае он получает доступ к «себе».

Установка:

[outputStream setDelegate:self];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

Dealloc:

- (void)dealloc {
    if (outputStream) {
        [outputStream close];
        [outputStream removeFromRunLoop:[NSRunLoop currentRunLoop]
                                forMode:NSDefaultRunLoopMode];
        [outputStream release];
        outputStream = nil;
    }
    delegate = nil;
    [super dealloc]; // must be last!
}
-121--2537174-

Нет, я почти уверен, что патч не попал в libpcap. Но вы можете выполнить дефрагментацию ip (а также следовать за потоками TCP) с помощью libnid .

-121--2999660-

Когда я читал эту страницу , я следовал по ссылке на MSDN, где нашел функцию GetBestInterface . Я смог использовать его, чтобы найти адаптер, подключенный к Интернету

4
ответ дан 8 December 2019 в 18:36
поделиться

Вы можете использовать WMI для запроса всех адаптеров и посмотреть, какой из них подключен.
Эта статья показывает, как это сделать в VB.NET (очень легко передаваться в C #).

3
ответ дан 8 December 2019 в 18:36
поделиться

См. здесь Для аналогичного вопроса о том, как контролировать использованную пропускную способность, в VB.NET, но философия одинакова! Здесь - это еще один вопрос, который является самым быстрым способом проверки подключения к Интернету.

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

3
ответ дан 8 December 2019 в 18:36
поделиться

Вы можете использовать либо

$(this).closest('.comment').find('form').eq(0).toggle('slow');

, либо

$(this).closest('.comment').find('form:first').toggle('slow');
-121--1327722-

В HTML5 это достигается очень легко с помощью атрибута местозаполнителя - хотя и не уверены, насколько широко это поддерживается сейчас.

-121--2379170-

Проверьте таблицу маршрутизации и найдите интерфейсы, которые имеют маршрут по умолчанию (маршрут к 0,0,0,0 ) - это ваши интерфейсы, которые подключены к более широкому миру (если есть).

3
ответ дан 8 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: