Frage

Ich mag eine C # .NET-Anwendung schreiben, wo es zu einem Telnet-Server verbindet und kommuniziert mit dem Server. Ich habe mich gefragt, wie ein Telnet-Server-Informationen an den Client sendet. Ich habe (entrahmte) sah über die Telnet RFC und schaute auf die eingehenden Pakete kommen in vom Server und immer noch ein wenig verwirrt. Kann mir jemand ein Beispiel geben, wie der Server die Cursor in dem Telnet-Client bewegt und wie sie Farben von Zeichen ändern? (Ein Beispiel hierfür wäre die meisten geschätzt werden)

Update I

Hier einige zusätzliche VT100 Ressourcen:

  1. ANSI / VT100 Terminal Control
  2. vt100_codes_news.txt

Update II

Mit viel Forschung und Zeit, hier was fand ich heraus: Telnet-Programmierung mit C #

War es hilfreich?

Lösung

Bewegen des Cursors und das Ändern der Farbe wird durch das Telnet-Protokoll nicht getan.

Ihr Telnet-Client emuliert ein Terminal , höchstwahrscheinlich eine VT-100-Variante. Um die Cursor zu bewegen und die Farbe ändern, sendet der Server Escape-Sequenzen especific an die Art des Terminals emuliert wird (was man in dem Telnet-Protokoll verhandelt gesendet).

Wenn Sie nicht über diese Escape-Sequenzen wollen, sagen Sie den Server auf dem Telnet-Protokoll verhandelt Sie eine „dumme“ Terminal sind, sollten genug sein. Wenn Sie wollen, (oder wenn der Server übernimmt jeder hat ein VT-100 und sendet sie immer) Sie müssen ein VT-100-Terminal-Emulator implementieren (oder zumindest genug davon zu verwerfen, was Sie nicht wollen).

Andere Tipps

A einfache Google-Suche viele Open-Source-Telnet (und andere Netzwerkprotokoll) Kunden geschrieben in C # aufdeckt. Sie könnten nur den Quellcode ein herunterladen und sehen, wie sie Verbindung Aushandlung und Befehle implementieren.

Bezüglich der Cursor und Textfarben Handhabung usw., jetzt reden Sie Terminal-Emulation. Für die Sie eine Bibliothek benötigen. Das sieht wie ein guter Anfang.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top