Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

В чем ошибка при сканировании портов 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.036 c
14-1080355228
Новичек
2004-03-27 05:40
2004.04.25
DelphiX .rar в Кладовке


14-1079467680
kamerad
2004-03-16 23:08
2004.04.25
Судьба Раскольникова в произведении Ф.М.Достоевского...


1-1081348339
RainKM
2004-04-07 18:32
2004.04.25
Компоненти для создания проги типа Експлорер!!!!!


7-1077878825
Laymer
2004-02-27 13:47
2004.04.25
TaskBar


1-1081702840
Максим
2004-04-11 21:00
2004.04.25
Снова про прозрачную кнопку.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский