Como o servidor Telnet comunicar com o cliente?
-
04-07-2019 - |
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:
Atualização II
Com muita pesquisa e tempo, aqui o que eu descobri: Telnet Programação com C #
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.