![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка наличия приложения на открытом порте [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]Надо задавать тайм-аут при обращении к порту.