Сокет не работает. Сканирование сети.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сокет не работает. Сканирование сети.

Сообщение XairOn » 02.10.2005 (Вс) 16:06

Доброго времени суток господа! У меня вот такая проблемака. С помощью сокета отправляю сообщение компу, если там запущена определённая прога она ответит на это сообщение. Когда я явно указываю адрес компа откоторого жду ответа, всё проходит нормально, но если я хочу просканировать диапазон IP на наличие проги почему-то не срабатывает. Вобщем что бы было понятнее поглядите на исходник того что у меня получилось.
Вложения
VBScan.rar
(1.72 Кб) Скачиваний: 39

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 03.10.2005 (Пн) 12:08

Блин... сорри... тороиплся... щас всё нормально.
Вложения
VBScan.rar
(2.83 Кб) Скачиваний: 46

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 03.10.2005 (Пн) 18:33

А форму в сканере обязательно хучить? & і <>0, поскольку это не работает смутно представляю как это должно работать, а нельзя ль просче
в цикле делать так как получается
Когда я явно указываю адрес компа откоторого жду ответа, всё проходит нормально

и дуивентс :roll:

Ем вилкой...

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 04.10.2005 (Вт) 5:40

Info_m.be_free писал(а):а нельзя ль просче в цикле делать так как получается

Это как например???
Info_m.be_free писал(а):А форму в сканере обязательно хучить?

Это ты наверно сабкласниг имел ввиду? Ну а как же не обязательно? Иначе как я ещё узнаю, что данные пришли?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.10.2005 (Вт) 6:19

XairOn писал(а):
Info_m.be_free писал(а):А форму в сканере обязательно хучить?

Это ты наверно сабкласниг имел ввиду? Ну а как же не обязательно? Иначе как я ещё узнаю, что данные пришли?

Как как, по событию.
См. http://bbs.vbstreets.ru/viewtopic.php?p=126506#126506
Изображение

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 04.10.2005 (Вт) 13:17

2 tyomitch, но это не ответ на вопрос. У меня с приёмом данных трудностей нету, лучше по сути вопроса подскажи что-нибудь дельное, а то пока что чё-то ничего не понятно.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.10.2005 (Вт) 13:44

XairOn писал(а):2 tyomitch, но это не ответ на вопрос.

Это ответ на вопрос.
Перечитай еще раз, внимательнее.
Lasciate ogni speranza, voi ch'entrate.

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 04.10.2005 (Вт) 16:16

alibek писал(а):Это ответ на вопрос.

Я похоже чего-то не понимаю, но изначально мой вопрос звучал примерно так: как сделать сканирование диапазона адресов? И я что-то пока что ничего похожего на ответ не увидел... если я не прав, пожалуйста ткните пальцем в правильный ответ, а то я ничего уже не понимаю.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.10.2005 (Вт) 16:19

Сканирование -- это попытка соединения (как я понял исходное условие). Чтобы при этом не ждать результата соединения, нужно использовать события. На события tyomitch и дал ссылку, только пример нужно немного изменить.

Хотя вообще-то в данном случае API не нужно.
Можно использовать стандартные сокеты, просто реализовать очередь (массив или коллекцию), которую затем обрабатывать.
Lasciate ogni speranza, voi ch'entrate.

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 04.10.2005 (Вт) 17:35

alibek писал(а):Можно использовать стандартные сокеты, просто реализовать очередь (массив или коллекцию), которую затем обрабатывать.

Если я тебя правильно понял, что бы просканировать диапазон 1 To 255 мне нужен массив сокетов (255 сокетов что ли)??? а по другому никак?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.10.2005 (Ср) 9:08

Можно сделать массив из пяти сокетов и проводить "сканирование" в несколько параллельных потоков (то, что я описывал, как создание очереди).
P.S. Логических потоков, а не threads.
Lasciate ogni speranza, voi ch'entrate.

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 05.10.2005 (Ср) 15:01

я не понимаю суть метода! почему я не могу обойтись одним сокетом??? есть какие-нибудь примеры... хотя бы приблизительные по этой теме!? меня интересует именно сканирование а не создание сокетов (или ещё что-то там)... как вообще пользоваться массивом (или коллекцией) сокетов? Основная проблема в обработке пришедших данных...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.10.2005 (Ср) 15:10

Потому что один сокет -- это одно соединение.
Не пойму я, что ты хочешь. Хочешь использовать один сокет -- используй. Хочешь использовать сто - используй сто.
Lasciate ogni speranza, voi ch'entrate.

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 05.10.2005 (Ср) 20:10

alibek писал(а):Потому что один сокет -- это одно соединение.

У меня UDP сокет... какое там соединение.
alibek писал(а): Хочешь использовать один сокет -- используй. Хочешь использовать сто - используй сто.

Ну так вот как раз в этом и заключается мой вопрос КАК это сделать. С одинм сокетом у меня не получается нифига, прога виснет почему-то когда приходит ответ (если ответа нет, т.е. сокет не принимает ни байти информации, то всё почему-то нормально). Вот я там выше выложил исходник, может глянешь что там к чему?

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 08.10.2005 (Сб) 7:07

Ну неужели никто никогда сканер сетевой не делал или что-нибудь подобное? Может хоть исходничек у кого-нибудь завалялся или ссылка на него, а то сам я что-то не справляюсь.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.10.2005 (Сб) 17:03

Так ты выражайся понятнее, что тебе надо, тогда может и помогут.
Лично я не пойму, что ты хочешь.
Lasciate ogni speranza, voi ch'entrate.

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 08.10.2005 (Сб) 17:52

alibek писал(а):Лично я не пойму, что ты хочешь.

Скачай мой исходник, который я выкложил (второй по счёту, в первый форму забыл добавить). Попробуй запуситть и погляди что станет с прогой когда придёт хоть один ответ и всё станет ясно. Прога загнётся моментально, а вот почему это происходит мне не понятно и как от этого избавиться тоже я не разберусь. Ты выше говорил что-то про отдельные потоки, массивы сокетов и т.п. я насчет этого тоже не понял, какая разница? Я конечно понимаю, что 10 сокетов будут быстрее сканировать диапазон чем 1, но что это измени в плане работоспособности проги? Как её заставить хотя бы с одним сокетом пакеты правильно принимать не загибаясь!?!?!?

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 11.10.2005 (Вт) 13:51

Видать не судьба :(

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 19.10.2005 (Ср) 20:37

А всё же :?:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.10.2005 (Ср) 22:17

Ну давай сначала.

Что не работает?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 20.10.2005 (Чт) 18:14

Когда запускаю сканирование получаю один из двух результатов:
1) Если ответ не получен то всё нормально (хотя не совсем, т.к. ответ в принципе быть должен).
2) Если ответ получен прога рушиться.
Вобщем имеется ещё один (малоотличающийся, но всё же отличающийся) пример моего сканера, выложу для лучшего понимания проблемы желающими помочь.
Кстати в этом новом проекте ответ почему-то вообще прога не ловит (
Вложения
scanner.rar
(2.89 Кб) Скачиваний: 37

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 24.10.2005 (Пн) 9:29

Так, ладно... просто дайте ссылку на исходник (хотя бы приблизительно похожий) сам разберусь.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 20

    TopList