Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
7-1078221472
saNat
2004-03-02 12:57
2004.04.25
Свой аплет на панели управления


3-1080790223
Badboy
2004-04-01 07:30
2004.04.25
Заполнение


1-1081178468
Максим
2004-04-05 19:21
2004.04.25
Прозрачная кнопка


14-1080488467
Инкогнито
2004-03-28 19:41
2004.04.25
Будущее за киберпанком?!


1-1081238100
den74
2004-04-06 11:55
2004.04.25
Missing operator or semicolon




   Наверх