Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
1-40428
AndrewK
2003-10-01 14:49
2003.10.13
Получение True или False по выражению в строке


14-40636
Всеволод Соловьёв
2003-09-20 15:24
2003.10.13
Рваный исходящий траффик


14-40596
sagchat
2003-09-25 12:39
2003.10.13
Где можно разместить файлы?


4-40724
OHP
2003-08-01 00:17
2003.10.13
Scroll как офисе


14-40668
GiGiPage
2003-09-23 13:58
2003.10.13
Билет по физике





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский