![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IdTelnet и получение ответов [D7, Win2k, WinXP]
fishka © (2006-12-22 10:15:00)Использую компонент IdTelnet. При нажатии на кнопку отправляю команду и не могу получить ответа.
varr:='dir';
// IdTelnet1.SendCmd(varr); - не работает
for i:=1 to length(varr) do
begin
IdTelnet1.SendCh(varr[i]);
end;
IdTelnet1.SendCh(CR);
bufferr:=IdTelnet1.CurrentReadBuffer;
Все висит на последней строке. Где у меня ошибка?
Не получается и при использовании:
IdTelnet1.ReadStrings
IdTelnet1.ReadString
IdTelnet1.ReadStream
IdTelnet1.ReadCh
IdTelnet1.ReadLn
IdTelnet1.ReadBuffer
И, пожалуйста, не закрывайте мою ветку, пока не будет решения проблемы.
fishka (2006-12-25 10:27:00) [1]
> umbra © (22.12.06 19:40) [17]
Это тоже мой вопрос:
http://delphimaster.ru/cgi-bin/forum.pl?id=1166603258&n=0
Мне тоже так казалось, но почему-то не каждый раз заходит в событие OnDataAvailable.
До сих пор не могу получить возвращаемые сервером данные........
umbra (2006-12-22 19:40:00) [2]2 fishka
данные, которые возвращает сервер, можно обрабатывать в событии
OnDataAvailable.
fishka (2006-12-22 13:58:00) [3]* от пароля. А в Memo выглядит так (примерно): яэ|
fishka (2006-12-22 13:48:00) [4]Запрос на имя - посылаю имя, потом на пароль - посылаю пароль.
А потом не понятно: *ÿý\x18 (скопировалось, не так, как я вижу).
Сергей М. (2006-12-22 13:38:00) [5]
> Кстати, IdTelnet1.CurrentReadBuffer выдает значения в процедуре
> IdTelnet1Connect(Sender: TObject);
И какие же ?
fishka (2006-12-22 13:19:00) [6]
> Это клиент с сервером договариваются)
А почему из командной строки только приглашение? И можно выполнять досовские команды? Из программы нужно что-то другое посылать?
Сергей М. (2006-12-22 12:47:00) [7]
> fishka (22.12.06 12:42) [11]
Это клиент с сервером договариваются)
fishka (2006-12-22 12:42:00) [8]
> начинаются переговоры об используемых опциях
Сергей М. (2006-12-22 12:41:00) [9]
> А почему из командной строки меня ни о чем не спрашивают?
А о чем тебя должны спрашивать ?
fishka (2006-12-22 12:38:00) [10]
> Каждая из договаривающихся сторон может послать другой один
> из четырех запросов will, do, wont и dont (см табл. 4.5.
> 3.4)
А почему из командной строки меня ни о чем не спрашивают?
Про сетевые снифферы что-нть слыхала - нет.
Сергей М. (2006-12-22 12:25:00) [11]
> не понимаю... Если можно подробнее.
Про сетевые снифферы что-нть слыхала ?
Сергей М. (2006-12-22 12:09:00) [12]
> Кстати, IdTelnet1.CurrentReadBuffer выдает значения в процедуре
> IdTelnet1Connect(Sender: TObject);
Разумеется выдает.
Вот цитата из упомянутого выше источника:
После того как TELNET связь установлена, начинаются переговоры об используемых опциях (см. табл. 4.5.3.1). Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont (см табл. 4.5.3.4).
fishka (2006-12-22 11:58:00) [13]IdTelnet1.SendCh(CR);
IdTelnet1.SendCh(LF);
bufferr:=IdTelnet1.CurrentReadBuffer;
Все равно висит.
Кстати, IdTelnet1.CurrentReadBuffer выдает значения в процедуре IdTelnet1Connect(Sender: TObject); Может, только там и можно использовать CurrentReadBuffer?
> Тогда любой подходящей утилитой перехвати траффик между
> стандартной Telnet-консолью и Телнет-сервером
не понимаю... Если можно подробнее.......
Сергей М. (2006-12-22 11:35:00) [14]Тогда любой подходящей утилитой перехвати траффик между стандартной Telnet-консолью и Телнет-сервером и проанализируй, что в действительности передает Telnet-консоль серверу при выполнении команды (той же Dir, к примеру)
Подозреваю, что сервер ожидает в конце ком.строки не CR, а CRLF
fishka (2006-12-22 11:16:00) [15]Смотря что считать нормально. Досовские команды проходят.
Dir нормально выдает список.
Этот же список я хочу получить и через idTelnet в Дельфях.
Сергей М. (2006-12-22 11:14:00) [16]А стандартный консольный Telnet-клиент при этом нормально взаимодействует с сервером ?
fishka (2006-12-22 10:50:00) [17]Прочитано в том или ином виде.
Сейчас я пытыюсь получать ответ от компа в локальной сети, на котором запущена Служба Telnet.
В командной строке после ввода имени и пароля можно выполнять досовские команды. И я хочу считать ответ по команде, например, dir, но не плучается.
Что я делаю не так?
Сергей М. (2006-12-22 10:35:00) [18]http://book.itep.ru/4/45/tlnt_453.htm
Это уже проштудировано тобой ?