Question

Je souhaite écrire une application C # qui se connecte à un serveur telnet et communique avec le serveur. Je me demandais comment un serveur telnet envoie des informations au client. J'ai parcouru (écrémé) la RFC Telnet et examiné les paquets entrants du serveur et toujours un peu confus. Quelqu'un peut-il me donner un exemple de la manière dont le serveur déplace le curseur dans le client telnet et comment il peut changer les couleurs des caractères? (Un exemple serait très apprécié)

Mettre à jour I

Voici quelques ressources VT100 supplémentaires:

  1. Contrôle de terminal ANSI / VT100
  2. vt100_codes_news.txt

Mise à jour II

Avec beaucoup de recherche et de temps, voici ce que j'ai découvert: Programmation Telnet avec C #

Était-ce utile?

La solution

Le déplacement du curseur et le changement de couleur ne sont pas effectués par le protocole telnet.

Votre client telnet émule un terminal , très probablement une variante du VT-100. Pour déplacer le curseur et changer la couleur, le serveur envoie des séquences d'échappement spécifiques au type de terminal émulé (laquelle est transmise lors de la négociation du protocole telnet).

Si vous ne souhaitez pas utiliser ces séquences d'échappement, indiquez au serveur, lors de la négociation du protocole Telnet, que vous êtes un "stupide". le terminal devrait suffire. Si vous les voulez (ou si le serveur suppose que tout le monde a un VT-100 et les envoie toujours), vous devrez implémenter un émulateur de terminal VT-100 (ou au moins suffisamment pour en éliminer ce que vous ne voulez pas).

Autres conseils

A Une simple recherche Google révèle de nombreux clients Open Source Telnet (et autres protocoles réseau) écrits en C #. Vous pouvez simplement télécharger le code source sur l'un d'eux et voir comment ils implémentent la négociation de connexion et les commandes.

En ce qui concerne la gestion du curseur et des couleurs du texte, etc., vous parlez maintenant de l'émulation de terminal. Pour cela, vous aurez besoin d'une bibliothèque. Cela semble être un bon point de départ.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top