Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

В чем ошибка при сканировании портов ClientSoket-om??   Найти похожие ветки 

 
KyRo ©   (2004-02-28 12:51) [0]

Я сканирую порты таким кодом ;
  Main.TestSocket.Host:="localhost";
  Main.TestSocket.Port:=i;
  Main.TestSocket.Active:=True;
  if  Main.TestSocket.Active then      Мain.TestSocket.Active:=False;
и второй способ :
тоже самое но место актив -  опен
и когда соединение установлено в событии отключаю
,а после в событии отключения перехожу на следующий порт.
И тот и другой метод выдает ошибку
Asynchronus soket eror 10061  при том на первом же порте.
Подскажите из за чего это может быть ??


 
Verg ©   (2004-02-28 13:06) [1]

Это из-за того, что
WSAECONNREFUSED

Т.е. на этом порту никто не ждет входящего соединеия.


 
KyRo ©   (2004-02-28 13:27) [2]

Оно то может и не ждет но мне нужно проверить все порты на открытость.
Что для этого сделать обработчик этой ситуации и записывать что этот порт закрыт ??


 
Reindeer Moss Eater ©   (2004-02-28 13:36) [3]

А по твоему это странно?
А по твоему это не нужно?


 
KyRo ©   (2004-02-28 13:58) [4]

Начались загадки ?? :) Скоро в хокку ответы будут.
Есле ошибка возникает то обработчик на нее писать в onError ??
как я понял и писать что порт закрыт.
А программа в таком случае не будет выкидыватся ??
Или что то еще нужно сделать что бы прога при возникновении этой ошибки не прикрощала работу ??


 
Reindeer Moss Eater ©   (2004-02-28 14:18) [5]

Посмотри на var параметр передаваемый в обработчик OnError.
Нажми F1.
Подумай, что будет, если тому параметру присвоить значение 0.


 
KyRo ©   (2004-02-28 14:27) [6]

Счас попробую.
Еще вопрос для сканирования правильно ли использовать
ClientSoket насколько быстро это будет
или лучше использовать
WinSock.


 
Reindeer Moss Eater ©   (2004-02-28 14:36) [7]

Ровно настолько быстрее,
насколько быстрее будет твоя реализация инкапсуляции WinSock API чем реализация программистов из Borland.


 
KyRo ©   (2004-02-28 15:34) [8]

Ну а есле сделать много нитей и сканировать ими , а то я проверил на сканирования 65 тис портов уйдет не меньше часа.
И еще при сканировании 200 портов у меня ClientSoket все время выдавал ошибку - это нормально или нет ???


 
Reindeer Moss Eater ©   (2004-02-28 15:38) [9]

Нити помогут.
Но пока полоса пропускания интерфейса не исчерпается.
И пока переключение между нитями не будет тормозить сильнее, чем другие компонеты


 
KyRo ©   (2004-02-28 16:09) [10]

А что с ошибкой как перейти в синхронный режим ?


 
Reindeer Moss Eater ©   (2004-02-28 16:27) [11]

С какой ошибкой?


 
KyRo ©   (2004-02-28 17:02) [12]

Asynchronus soket eror 10061


 
Reindeer Moss Eater ©   (2004-02-28 17:10) [13]

Соединяемся с портом который не открыт.
Получаем исключение с указанием конкретного кода, говорящее, что порт не открыт и соединение не может быть установлено.

Это по твоему ошибочное поведение? Это ошибка в реализации класса?
А на самом деле не должно быть никакого исключения и код возврата должен быть NO_ERROR в подобной ситуации?

Я тебя правильно понял?


 
KyRo ©   (2004-02-28 21:38) [14]

Похоже правильно.
Но те порты на которых стоят службы и по идее должны работать
тоже выдаетса таже ошибка. В этот то и вся проблема


 
Verg ©   (2004-02-29 10:38) [15]


> KyRo ©   (28.02.04 21:38) [14]
> Похоже правильно.
> Но те порты на которых стоят службы и по идее должны работать
>
> тоже выдаетса таже ошибка. В этот то и вся проблема


Это у тебя ошибка в программе. Где-то в районе 17-18 строки.
Проблема только в этом. OnError не обрабатываешь скорее всего.


 
DelphiN! ©   (2004-02-29 13:10) [16]

procedure TForm1.ClientSocket1Error(Sender: TObject;
 Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
 var ErrorCode: Integer);
begin
memo3.Lines.Add("Client status: Error: "+inttostr(errorcode));
errorcode := 0;
end;


 
Reindeer Moss Eater ©   (2004-03-02 08:40) [17]

Похоже правильно.
Но те порты на которых стоят службы и по идее должны работать
тоже выдаетса таже ошибка. В этот то и вся проблема


Ну кто тебе такое сказал?
Допустим я - какая-то служба и ты открыл соединение с моим открытым портом.
Но я жду некое приветсвие от входящих клиентов.
А если его нет - на мороз.



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.026 c
14-1080805842
stone
2004-04-01 11:50
2004.04.25
Какой цвет выбрать?


1-1081241753
Openfire
2004-04-06 12:55
2004.04.25
Вопрос про экспорт данных в MSWord


14-1079678868
Красная Майка
2004-03-19 09:47
2004.04.25
KIMP - лог встречи


8-1074750944
DNS
2004-01-22 08:55
2004.04.25
EXE (RAD Video Tools) + Delphi???


1-1081113654
nolimit
2004-04-05 01:20
2004.04.25
инфа по JEDI JCL/JVCL