Форум: "Сети";
Текущий архив: 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.009 c