Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка наличия приложения на открытом порте [D7, WinXP]


kitekat ©   (2004-08-20 14:44:00) 

Пишу сканер портов с возможностью отображения имен приложений на открытых портах. Когда порт открыт но нем ничего(53,135,139,445 и тд.) нет сканер надолго подвисает. Как осуществить проверку наличя приложения на открытом порте? Буду рад любому совету.

P.S.
Считываю имя так:
Idtelnet1.Connect;
.
.
.
procedure TForm1.IdTelnet1Connected(Sender: TObject);
begin
DisplayMemo.Lines.Add('Успешно');
ServicesMemo.Lines.Add(Idtelnet1.CurrentReadBuffer);
IdTelnet1.Disconnect;
end;

Может есть болле хороший способ?


Anatoly Podgoretsky   (2004-08-20 16:05:00) [1]

kitekat   (20.08.04 15:24) [5]
А оно обязано тебе ответить?
Если обязано, то выполняй обряд.


Digitman   (2004-08-20 15:56:00) [2]


> че надо спросить


спросить надо то что ожидает конкретный системный сервис, в соответствии с индивидуальным протоколом инф.обмена, который он поддерживает

и - заметь - далеко не каждый "системный" сервис обязан ответить тебе, какое приложение его реализует


kitekat   (2004-08-20 15:24:00) [3]

Да это компонент TIdTelnet.
После Idtelnet1.Connect в CurentBufer попадает имя приложения.
Но если проходит только с прикладными сервисами(21,25,80) а с системными зависает. Не подскажечь че надо спросить чтобы в любом случае получит имя приложения?
Может какой другой способ подключения?(сам сканер сделан через winsock)


Digitman   (2004-08-20 15:15:00) [4]


> kitekat   (20.08.04 15:04) [3]


> Прога подвисает пытаясь прочитать CurrentReadBuffer


эт чего ? Инди тут попахивает, вероятно ?

а с чего ты взял, что если ты не спросил ничего у произвольного сервиса, оной с тобой говорить начнет первым ?


kitekat   (2004-08-20 15:04:00) [5]

Я пробовал найти что-то типа ConnectionTimeout, но не нашел:(
Прога подвисает пытаясь прочитать CurrentReadBuffer.


Digitman   (2004-08-20 14:59:00) [6]


> порт открыт но нем ничего.. нет


это как так ?
порт, по-твоему, святой дух что ли открыл ?


Smithson   (2004-08-20 14:59:00) [7]

Надо задавать тайм-аут при обращении к порту.


Наверх

Титульная страница Поиск, карта сайта Написать письмо