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

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

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

Это уже проштудировано тобой ?


Наверх

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