Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.29;
Скачать: CL | DM;

Вниз

IdTelnet и получение ответов   Найти похожие ветки 

 
fishka   (2006-12-22 10:15) [0]

Использую компонент 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

И, пожалуйста, не закрывайте мою ветку, пока не будет решения проблемы.


 
Сергей М. ©   (2006-12-22 10:35) [1]

http://book.itep.ru/4/45/tlnt_453.htm

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


 
fishka   (2006-12-22 10:50) [2]

Прочитано в том или ином виде.
Сейчас я пытыюсь получать ответ от компа в локальной сети, на котором запущена Служба Telnet.
В командной строке после ввода имени и пароля можно выполнять досовские команды. И я хочу считать ответ по команде, например, dir, но не плучается.
Что я делаю не так?


 
Сергей М. ©   (2006-12-22 11:14) [3]

А стандартный консольный Telnet-клиент при этом нормально взаимодействует с сервером ?


 
fishka   (2006-12-22 11:16) [4]

Смотря что считать нормально. Досовские команды проходят.
Dir нормально выдает список.
Этот же список я хочу получить и через idTelnet в Дельфях.


 
Сергей М. ©   (2006-12-22 11:35) [5]

Тогда любой подходящей утилитой перехвати траффик между стандартной Telnet-консолью и Телнет-сервером и проанализируй, что в действительности передает Telnet-консоль серверу при выполнении команды (той же Dir, к примеру)

Подозреваю, что сервер ожидает в конце ком.строки не CR, а CRLF


 
fishka   (2006-12-22 11:58) [6]

IdTelnet1.SendCh(CR);
IdTelnet1.SendCh(LF);
bufferr:=IdTelnet1.CurrentReadBuffer;

Все равно висит.
Кстати, IdTelnet1.CurrentReadBuffer выдает значения в процедуре IdTelnet1Connect(Sender: TObject); Может, только там и можно использовать  CurrentReadBuffer?


> Тогда любой подходящей утилитой перехвати траффик между
> стандартной Telnet-консолью и Телнет-сервером

не понимаю... Если можно подробнее.......


 
Сергей М. ©   (2006-12-22 12:09) [7]


> Кстати, IdTelnet1.CurrentReadBuffer выдает значения в процедуре
> IdTelnet1Connect(Sender: TObject);


Разумеется выдает.

Вот цитата из упомянутого выше источника:

После того как TELNET связь установлена, начинаются переговоры об используемых опциях (см. табл. 4.5.3.1). Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont (см табл. 4.5.3.4).


 
Сергей М. ©   (2006-12-22 12:25) [8]


> не понимаю... Если можно подробнее.


Про сетевые снифферы что-нть слыхала ?


 
fishka   (2006-12-22 12:38) [9]


> Каждая из договаривающихся сторон может послать другой один
> из четырех запросов will, do, wont и dont (см табл. 4.5.
> 3.4)

А почему из командной строки меня ни о чем не спрашивают?

Про сетевые снифферы что-нть слыхала - нет.


 
Сергей М. ©   (2006-12-22 12:41) [10]


> А почему из командной строки меня ни о чем не спрашивают?


А о чем тебя должны спрашивать ?


 
fishka   (2006-12-22 12:42) [11]


> начинаются переговоры об используемых опциях


 
Сергей М. ©   (2006-12-22 12:47) [12]


> fishka   (22.12.06 12:42) [11]


Это клиент с сервером договариваются)


 
fishka   (2006-12-22 13:19) [13]


> Это клиент с сервером договариваются)

А почему из командной строки только приглашение? И можно выполнять досовские команды? Из программы нужно что-то другое посылать?


 
Сергей М. ©   (2006-12-22 13:38) [14]


> Кстати, IdTelnet1.CurrentReadBuffer выдает значения в процедуре
> IdTelnet1Connect(Sender: TObject);


И какие же ?


 
fishka   (2006-12-22 13:48) [15]

Запрос на имя - посылаю имя, потом на пароль - посылаю пароль.
А потом не понятно: *ÿý (скопировалось, не так, как я вижу).


 
fishka   (2006-12-22 13:58) [16]

* от пароля. А в Memo выглядит так (примерно): яэ|


 
umbra ©   (2006-12-22 19:40) [17]

2 fishka

данные, которые возвращает сервер, можно обрабатывать в событии
OnDataAvailable.


 
fishka   (2006-12-25 10:27) [18]


> umbra ©   (22.12.06 19:40) [17]

Это тоже мой вопрос:
http://delphimaster.net/view/1-1166603258/

Мне тоже так казалось, но почему-то не каждый раз заходит в событие OnDataAvailable.

До сих пор не могу получить возвращаемые сервером данные........



Страницы: 1 вся ветка

Текущий архив: 2007.07.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
4-1171614711
niko_
2007-02-16 11:31
2007.07.29
Блокировка Ctr+Alt+Del


15-1183342683
Slider007
2007-07-02 06:18
2007.07.29
С днем рождения ! 29 июня 2007 пятница


4-1171567494
Константинов
2007-02-15 22:24
2007.07.29
Прокрутка ScrollBox


3-1177156545
RomanH
2007-04-21 15:55
2007.07.29
Сортировка в FibDataSet


2-1183552580
Bad_B
2007-07-04 16:36
2007.07.29
Создать и уничтожить