Domanda

Voglio scrivere un'applicazione C # in cui si connette a un server Telnet e comunica al server. Mi chiedevo come un server Telnet invia informazioni al client. Ho esaminato (scremato) le Telnet RFC e ho esaminato i pacchetti in arrivo in arrivo dal server e ancora un po 'confuso. Qualcuno può darmi un esempio di come il server sposta il cursore nel client Telnet e come può cambiare i colori dei caratteri? (Un esempio sarebbe molto apprezzato)

Aggiorna I

Ecco alcune risorse VT100 aggiuntive:

  1. Controllo terminale ANSI / VT100
  2. vt100_codes_news.txt

Aggiornamento II

Con molte ricerche e tempo, ecco cosa ho scoperto: Programmazione Telnet con C #

È stato utile?

Soluzione

Lo spostamento del cursore e la modifica del colore non sono effettuati dal protocollo telnet.

Il tuo client telnet emula un terminal , molto probabilmente una variante VT-100. Per spostare il cursore e cambiare il colore, il server invia sequenze di escape specifiche per il tipo di terminale da emulare (quale viene inviato nella negoziazione del protocollo telnet).

Se non vuoi queste sequenze di escape, informa il server sulla negoziazione del protocollo telnet che sei un "stupido" il terminale dovrebbe essere sufficiente. Se li vuoi (o se il server presume che tutti abbiano un VT-100 e li invii sempre) dovrai implementare un emulatore di terminale VT-100 (o almeno abbastanza per scartare ciò che non vuoi).

Altri suggerimenti

A semplice ricerca su Google rivela molti client Telnet (e altri protocolli di rete) open source scritti in C #. Puoi semplicemente scaricare il codice sorgente su uno e vedere come implementano la negoziazione e i comandi di connessione.

Per quanto riguarda la gestione del cursore e dei colori del testo, ecc., ora stai parlando dell'emulazione terminale. Per questo avrai bisogno di una biblioteca. Sembra un buon punto di partenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top