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

Вниз

ESC and Telnet?   Найти похожие ветки 

 
ZHK   (2003-08-14 15:38) [0]

Есть проблема, а, может, не проблема. В общем, ситуация следующая: Есть компонент TIdTelnet. Связываюсь с сервером, все хорошо. Ввожу логин (в автомате), ввожу пароль (так же в автомате) Дальше идет бо-о-ольшая последовательность кодов, начинающихся с #27. Я, как бы, неоднократно слышал, а назаре 8086XT, даже использовал такие последовательности, но знания, боюсь, утеряны. самое обидное - что невосстановимы (в памяти). :-) Уважаемые мастера, может кто знает, что-же Telnet-ом по сети еще передается, помимо просто данных? Это еще не все. В процессе работы, а соединение у меня очень продолжительное, то есть, в идеале, бесконечное, с линии приходит сообщение "auto-logout" и после этого снова возникает строчка ESC-последовательностей, заканчивающаяся "swsh >", что, как я понял, означает начало передачи данных. И это еще не все. Принимая данные я, дабы всякая шушера в вывод не лезла, я отбрасываю все символы с кодом, меньшим #32, т.е. пробела. При этом, естественно, я отлавливаю #13, дабы определить конец строки. Но иногда, насколько я понял, но не уверен, у меня происходит повтор данных, передаваемых моей программе. В итоге получается, что получаемые данные несколько портятся, что не очень хорошо. Если мое наблюдение верно, то может кто подскажет, как определить начало и окончание автоповтора данных? Заранее благодарен за любую помощь в данном вопросе.


 
ZHK   (2003-08-14 16:34) [1]

Неужто неслыхал никто про сию проблему?


 
nikkie ©   (2003-08-14 16:46) [2]

когда у тебя проблемы, помогает IdLogDebug. покажи лог, тогда можно будет предметно разговаривать. в протоколе телнет возможны служебные команды, начинающиеся символом IAC (#255). никакого особого смысла в коде #27, насколько мне помнится, нет. но вероятно может иметь какой-то смысл для специального телнет протокола. а #13 ловить не хорошо, поскольку в юникс системах символ новой строки - #10.


 
ZHK   (2003-08-14 16:59) [3]

Вот тебе кусок лога. Выделенные этим-[] участки на самом деле символы с соответствующим кодом:
[1B]7[1B][999;999H[1B][6n[1B]8[1B][?7h[1B]7[1B][3g[1B][1;1H[1B][8C[1B] H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1 B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C [1B]H[1B][8C[1B]H[1B][8C[1B]H[1B][8C[1B]H[1B]8[1B]>[1B][2J[1B][1;24r[1 B][1;1Hretrieve file initializing


 
ZHK   (2003-08-15 10:26) [4]

Парни, я знаю, что вам все известно. Поделитесь информацией!!!


 
ZHK   (2003-08-15 12:00) [5]

Никто меня не любит,
Никто не поцелует...


 
wal ©   (2003-08-15 12:11) [6]

Похоже на Esc-последовалельности драйвера ansi.sys, который из-под ДОСа. Там они обожначали установку координат курсора, установку цветов и тому подобную лабудень. Но я могу и ошибаться :(
С уважением.


 
ZHK   (2003-08-15 12:16) [7]

Знаешь, wal, я примерно так и понял, ибо я эти последовательности в молодости набирал и в файлы закладывал. Но вот информации по ним уже не осталось. Если бы ты подсказал, где их взять можно, я бы тебе просто премного благодарен. А за уважение спасибо тебе огромное. Я тоже тебя уважаю не меньше.


 
wal ©   (2003-08-15 12:44) [8]

Пол-пинка по рамблеру и вот результат:
http://www.sdteam.com/articles3/operating_systems/novelldos/ansi.sys.h tml
С уважением.


 
wal ©   (2003-08-15 12:45) [9]

Извиняюсь за кривую ссылку - html - слитно


 
nikkie ©   (2003-08-15 14:02) [10]

>Вот тебе кусок лога
а где его начало? вполне вероятно, что в начале клиент и сервер договариваются о типе терминала. терминалы-то разные бывают. для VT100 вроде никаких esc-последовательностей быть не должно, чистый текст. в каком-нибудь VT525 текст вполне может быть перемешан с esc-последовательностями. в TN5250 ты ASCII-текста вообще не увидишь.


 
ZHK   (2003-08-15 16:54) [11]

nikkie, понимаешь, в чем дело, esc-последовательности - это, как ты сам знаешь, стандарт. И кто их использует, в смысле какой протокол, это уже другой вопрос. Я связываюсь через виндовый телнет, для начала, как я собственно и получил информацию вместе с вопросами. Так вот, он все прекрасно понимает и не ругается. Кстати, подключаясь с VT100 через гипертерминал, он понимает это все точно также, как и телнет. Вот.


 
ZHK   (2003-08-15 16:57) [12]

Да, кстати, вырезка из протокола - это начало последовательностей, перед этим идет нечто типа "Здравствуйте, получите, распишитесь..."


 
nikkie ©   (2003-08-15 17:21) [13]

твой вопрос был
>что-же Telnet-ом по сети еще передается, помимо просто данных?
ответ - зависит от типа терминала.

как клиент и сервер договариваются о типе протокола, см здесь
http://www.faqs.org/rfcs/rfc884.html

если тебе эти esc-ы мешают, попробуй выставить IdTelnet.Terminal = "VT100".

Кстати, подключаясь с VT100 через гипертерминал, он понимает это все точно также, как и телнет. Вот.
один и тот же сервер может поддерживать разные телнет-терминалы. сделай лог сессии гипертерминала и посмотри есть ли там твои esc-ы, сравни начала сессий.


 
ZHK   (2003-08-18 08:45) [14]

Конечно там все тоже самое. Один к одному. А за подсказку большое спасибо, попробую.



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

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

Наверх




Память: 0.5 MB
Время: 0.021 c
1-40457
-=[SDA]=-
2003-10-02 12:31
2003.10.13
Как корректно закрыть отчет !?


14-40667
alxx
2003-09-23 16:30
2003.10.13
Найти файлы по маске и в них заменить одну строку на другую


9-40220
Арм
2003-03-03 04:17
2003.10.13
Выбор объектов в OpenGL


1-40504
Erik
2003-10-03 10:58
2003.10.13
Недебажится компонент.


3-40240
sebsatian
2003-09-23 16:05
2003.10.13
вычисляемое поле не вычисляется