Pergunta

Eu quero escrever um aplicativo C # onde ele se conecta a um servidor telnet e se comunica com o servidor. Eu queria saber como um servidor Telnet envia informações para o cliente. I visual (desnatado) durante o Telnet RFC e olhou para os pacotes que chegam vindos em a partir do servidor e ainda um pouco confuso. Alguém pode me dar um exemplo de como o servidor move o cursor no cliente telnet e como ele pode mudar as cores dos personagens? (Um exemplo seria mais apreciada)

Atualização de I

Eis alguns recursos VT100 adicionais:

  1. ANSI / VT100 Terminal de Controlo
  2. vt100_codes_news.txt

Atualização II

Com muita pesquisa e tempo, aqui o que eu descobri: Telnet Programação com C #

Foi útil?

Solução

Mover o cursor e mudando a cor não é feito pelo protocolo telnet.

Seu cliente telnet está emulando um terminal, provavelmente uma variante VT-100. Para mover o cursor e alterar a cor, o servidor envia sequências de escape especifico para o tipo de ser o terminal emulado (qual é enviado na negociação do protocolo telnet).

Se você não quiser que essas seqüências de escape, dizendo ao servidor na negociação do protocolo telnet você é um terminal "burro" deve ser suficiente. Se você quer que eles (ou se o servidor assume toda a gente tem um VT-100 e sempre envia-los) você terá que implementar um VT-100 emulador de terminal (ou pelo menos o suficiente para descartar o que você não quer).

Outras dicas

A simples pesquisa Google revela muitos open source Telnet (e outros protocolos de rede) clientes escritos em C #. Você poderia simplesmente baixar o código fonte a um e ver como eles implementam negociação da conexão e comandos.

Com relação a lidar com as cores do cursor e do texto, etc., agora você está falando de emulação de terminal. Para isso você vai precisar de uma biblioteca. Isto parece um bom lugar para começar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top