![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
progmax |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
Постала задача написания простого сканера сети.
Для этой цели использую компонент ClientSocket:
В событии OnConnect формирую список IP-адресов с открытым 21 портом:
Во время запуска программа выдает ошибку. Наверное все из-за цикла. Подскажите, пожалуйста, в чем может быть ошибка. |
||||
|
|||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
круто! а теперь все угадываем, что за ошибка) з.ы. перед изменением Host Active := false -------------------- There are always someone smarter than you... |
|||
|
||||
Matematik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 24 Всего: 50 |
progmax,
Режим работы сокета? |
|||
|
||||
progmax |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
Ошибка: Project scan.exe raised exception class ESocketError with message 'Asynchronous socket error 10049' Насколько я понимаю алгоритм следующий: 1. попытка активировать сокет 2. если не удается, то событие OnError 3. если удается - OnConnect Добавлено @ 10:46
Не совсем понятен вопрос! |
||||
|
|||||
Matematik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 24 Всего: 50 |
По умолчанию этот компонент работает в асинхронном режиме (параметр ClientType) т.ч. при попытке активировать сокет, программа не ждет установки соединения(или ошибки), а продолжает работать дальше. При таком подходе в цикле проверять возможность соединения нельзя!
В этом ты прав. Как подавить ошибку http://forum.vingrad.ru/topic-139066.html |
|||
|
||||
progmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
Исходя из выше сказанного изменил в программе следующее:
- добавил в событие OnError компонента ClientSocket:
- в свойстве компонента ClientType установил ctBlocking. Теперь если заданный порт открыт на удаленном хосте то программа отрабатывает без ошибки. А вот если порт закрыт - программа выдает ошибку: "Подключение не установлено, т.к. конечный компьютер отверг запрос на соединение". Наверное прийдеться использовать исключение (try). А если удаленный ПК отключен или в сети нету такого IP-адреса компонент доволи долгое время пытается открыть сокет. Подскажите, пожалуйста, где можно установить таймаут? Это сообщение отредактировал(а) progmax - 4.3.2007, 14:14 |
|||
|
||||
Dr_midon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
При соединении включай таймер(склько хочеш подождать), а при наступлении времени обрывай соединение
Единственная фигня - метод варварский и не дождавшись ответа мона пропустить адресок... |
|||
|
||||
Volkss85 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.10.2007 Репутация: -1 Всего: нет |
Приветик пацики КАК создать болкиратор сетки типа ширмы чтоб одни пользовались легко входили в нужную сеть а отдельная группа работала отдельно не видя основную сетку но есть проблема по сетке раскидуется Интернет
![]() |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
Volkss85, "пацик" =>
![]() hint: пиши на русском. Это сообщение отредактировал(а) MetalFan - 23.10.2007, 17:36 -------------------- There are always someone smarter than you... |
|||
|
||||
Volkss85 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.10.2007 Репутация: -1 Всего: нет |
раздупли
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |