Вопрос

Я хочу написать приложение на C #, где оно подключается к серверу telnet и взаимодействует с сервером. Мне было интересно, как сервер Telnet отправляет информацию клиенту. Я просмотрел (пролистал) Telnet RFC и посмотрел на входящие пакеты, поступающие в с сервера и до сих пор немного запутался. Может кто-нибудь привести пример того, как сервер перемещает курсор в клиенте telnet и как он может изменять цвета символов? (Пример был бы наиболее ценным)

Обновление I

Вот некоторые дополнительные ресурсы VT100:

<Ол>
  • Управление терминалами ANSI / VT100
  • vt100_codes_news.txt
  • Обновление II

    Имея много исследований и времени, вот что я узнал: Программирование Telnet с использованием C #

    Это было полезно?

    Решение

    Перемещение курсора и изменение цвета не выполняется протоколом telnet.

    Ваш telnet-клиент эмулирует терминал , скорее всего, вариант VT-100. Чтобы переместить курсор и изменить цвет, сервер отправляет escape-последовательности, специфичные для типа эмулируемого терминала (который отправляется при согласовании протокола telnet).

    Если вам не нужны эти escape-последовательности, сообщите серверу о согласовании протокола telnet, что вы " тупой " терминала должно быть достаточно. Если вы хотите их (или если сервер предполагает, что у всех есть VT-100 и всегда отправляет их), вам придется внедрить эмулятор терминала VT-100 (или, по крайней мере, достаточно, чтобы отказаться от того, что вы не хотите).

    Другие советы

    A простой поиск в Google показывает множество клиентов Telnet (и других сетевых протоколов) с открытым исходным кодом, написанных на C #. Вы можете просто загрузить исходный код в один из них и посмотреть, как они реализуют согласование соединений и команды.

    Что касается обработки цветов курсора и текста и т. д., то теперь вы говорите об эмуляции терминала. Для этого вам понадобится библиотека. Это выглядит как хорошее место для начала.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top