Pregunta

Quiero escribir una aplicación C # donde se conecta a un servidor telnet y se comunica con el servidor. Me preguntaba cómo un servidor telnet envía información al cliente. He revisado (hojeado) el RFC de Telnet y he observado los paquetes entrantes que llegan del servidor y todavía un poco confundido. ¿Puede alguien darme un ejemplo de cómo el servidor mueve el cursor en el cliente Telnet y cómo puede cambiar los colores de los caracteres? (Un ejemplo sería el más apreciado)

Actualizar I

Aquí hay algunos recursos adicionales de VT100:

  1. Control de terminal ANSI / VT100
  2. vt100_codes_news.txt

Actualización II

Con mucha investigación y tiempo, aquí lo que descubrí: Programación Telnet con C #

¿Fue útil?

Solución

El protocolo telnet no permite mover el cursor y cambiar el color.

Su cliente telnet está emulando una terminal , muy probablemente una variante VT-100. Para mover el cursor y cambiar el color, el servidor envía secuencias de escape específicas para el tipo de terminal que se emula (cuál se envía en la negociación del protocolo telnet).

Si no desea estas secuencias de escape, decirle al servidor en la negociación del protocolo telnet que es un '' tonto '' terminal debería ser suficiente. Si los quiere (o si el servidor supone que todos tienen un VT-100 y siempre los envía), deberá implementar un emulador de terminal VT-100 (o al menos lo suficiente para descartar lo que no desea).

Otros consejos

A la simple búsqueda en Google revela muchos clientes de código abierto Telnet (y otros protocolos de red) escritos en C #. Simplemente puede descargar el código fuente a uno y ver cómo implementan los comandos y la negociación de conexión.

Con respecto al manejo del cursor y los colores del texto, etc., ahora está hablando de emulación de terminal. Para eso necesitarás una biblioteca. Este parece ser un buen lugar para comenzar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top