Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Проблема:vt100 + telnet

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
VotVopros
Гость





СообщениеДобавлено: Пт Янв 23 2004 10:42    Заголовок сообщения: Проблема:vt100 + telnet Ответить с цитатой

Здравствуйте!
Помогите, если возможно!
Уже и по Google рыскал, и на rsdn выпрашивал... Но решения не нашёл.

КОНФИГУРАЦИЯ:
1) windows2k-telnet-server + windows2k telnet client (или HyperTerm), применённый к 127.0.0.1, настроенный на эмуляцию терминала vt100.
2) Запускаю ч/з telnet свою прогу, которая должна выводить на экран псевдографику и текст.
ПРОБЛЕМА:
Некоторые из символов выводятся не в своих позициях. При запуске проги под unix (безо всяких telnet) проблема не возникает.
ОБНАРУЖИЛ,
(с помощью capture) что при попадании на клиент, в посылаемые прогой esc-последовательности добавляются "лишние" esc-последовательности (позиционирование курсора). На каком уровне и почему они добавляются - не ясно. Добавляются они тем активней, чем больше объём посылаемых прогой данных. Под словом "посылаемый" я понимаю посылку в stdout....

ПРИМЕР:
При запуске без telnet (просто запускаю в сеансе ms-dos) на экран посылаются такие данные:<esc [ 6 ; 3 H - - - - - >
При использовании capture на клиенте принимается:<esc [ 6 ; 3 H - - esc [ 6 ; 1 H - - - >

Пробовал менять настройки на клиенте - ничего не помогает.
Может быть и на telnet сервере нужно как-то эмулировать vt100? Но зачем и как? Сервер шлёт себе и шлёт - какая разница что...

Управляющих кодов telnet ( 255 ...) программа вроде не шлёт...

Что делать? Помогите!
Вернуться к началу
VotVopros
Гость





СообщениеДобавлено: Пт Янв 23 2004 11:17    Заголовок сообщения: Ответить с цитатой

Если даже нечего ответить на мой вопрост, подскажите пожалуйста форум, кроме rsdn и citforum, на котором мне могут помочь с решением проблемы...
Вернуться к началу
VotVopros
Гость





СообщениеДобавлено: Пт Янв 23 2004 18:18    Заголовок сообщения: Ответить с цитатой

Половинчатое решение нашлось!!

Проблемы возникали похоже из-за того, что все данные посылались printf-ом в одну строчку. На каком-то уровне происходило переполнение какого-то буфера (знать бы какого!!!) и начинались глюки.
Решение оказалось следующим - если часто вызывать printf("\n\r"), то глюки не возникают. Конечно это не очень удобно, но зато работает, в отличие, скажем, от вызова fflush.

Проблема с выводом как бы решилась, ЗАТО возникла НОВАЯ ПРОБЛЕМА с вводом. Причём природа этих двух проблем видимо схожая....

Лишние esc-последовательности на уровне клиента всё-таки вставляются - в конец и в начало посылаемых данных.
И в результате, если я хочу считать (scanf-ом или getch) с клавиатуры символ, то курсор передвигается в некую фиксированную от раза к разу позицию - где-то в середине экрана.
Никакие esc-последовательности позиционирования курсора не влияют на положение этой позиции.

Ещё могу отметиь, что использование различных telnet клиентов под windows/unix мне не помогло (и с вводом и с выводом)...

p.s. Решение "\n\r" не мог так долго найти, потому что пробовал по отдельности \r и \n, вместе почему-то не пришло в голову попробовать ...
Вернуться к началу
Dmitry.Karpov



Зарегистрирован: 30.11.2003
Сообщения: 415
Откуда: Moscow

СообщениеДобавлено: Пт Янв 23 2004 20:03    Заголовок сообщения: Ответить с цитатой

Под Unix для общения с терминалом используют спец.библиотеку curses или ncurses. А для Windows Telnet - это чуждый ей протокол.
_________________
Благословен Бог, сотворивший меня сисадмином!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Сети Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...