Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
121 / 121 / 12
Регистрация: 12.06.2010
Сообщений: 499
Записей в блоге: 2
1

Сканирование списка IP-адресов в BackgroundWorker

27.05.2014, 10:49. Показов 1223. Ответов 3
Метки нет (Все метки)

Перепробовал кучу примеров, ни один не работает. Что требуется: простенькая задачка - в backgroundworker'e в цикле проверяется некий диапазон айпи адресов, если в данный момент этот айпи адрес доступен, то он добавляется в листбокс. Помогите рабочим примером.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2014, 10:49
Ответы с готовыми решениями:

Сканирование адресов в backgroundworker. Ошибка "Сервер RPC недоступен"
Всем привет. Извините если не так оформил название темы. Написал код, который сканирует диапозон...

Сканирование диапазона адресов
Здравствуйте никак не получается просканировать диапазон ip - адресов по порту 7000. Может есть у...

Сканирование IP адресов в локальной сети
Здравствуйте, люди добрые! Доброго времени суток всем! :) Начну с того, что мне дали задание -...

Сканирование свободных ip адресов и запись в SQL
Добрый вечер друзья! Хочу поделиться замечательной, простой программой для поиска свободных ip...

3
Почетный модератор
21307 / 9041 / 1082
Регистрация: 11.04.2010
Сообщений: 11,014
27.05.2014, 11:10 2
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        BackgroundWorker1.RunWorkerAsync()
    End Sub
 
    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        Dim net As New Net.NetworkInformation.Ping
 
        For I As Integer = 0 To 50
            If net.Send("10.5.5." & I, 20).Status = System.Net.NetworkInformation.IPStatus.Success Then
                ListBox1.Items.Add("10.5.5." & I)
            End If
        Next
    End Sub
0
1573 / 649 / 222
Регистрация: 09.06.2011
Сообщений: 1,321
27.05.2014, 12:09 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Добавление элементов в ListBox необходимо производить в основном потоке
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Enabled = False
        BackgroundWorker1.WorkerReportsProgress = True
        BackgroundWorker1.RunWorkerAsync()
    End Sub
 
    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        Dim net As New Net.NetworkInformation.Ping
 
        For I As Integer = 1 To 9
            If net.Send("10.5.5." & I, 20).Status = System.Net.NetworkInformation.IPStatus.Success Then
                BackgroundWorker1.ReportProgress(0, "10.5.5." & I)
            End If
        Next
    End Sub
 
    Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
        ListBox1.Items.Add(e.UserState)
    End Sub
 
    Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        Button1.Enabled = True
    End Sub
или использовать Invoke
2
121 / 121 / 12
Регистрация: 12.06.2010
Сообщений: 499
Записей в блоге: 2
27.05.2014, 15:04  [ТС] 4
Спасибо) еще оказалось, что я забыл вставить вот этот код:
VB.NET
1
MyBW.WorkerReportsProgress = True
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2014, 15:04

Сканирование папки на хостинге и вывод списка файлов в ListBox
Привет всем, гуру мне нужна ваша помощь, в общем у меня на сервере (сайте, хостинге не важно)...

Асинхронный пинг списка адресов
C# изучаю недавно, возникла потребность решить одну задачу. Суть задачи: Программа получает...

Вывод списка адресов и названий
Всем привет, очень прошу вашей помощи. Давно не практиковал и тут решил сделать небольшое...

Batch ping из списка адресов
Привет всем. Не получается написать батник для пингования списка серверов с сохранением статистики...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.