Telnet formatieren
-
Tag,
Ich habe ein Server Programm erstellt auf das per Telnet zugegriffe wird ich schicke strings an den Telnet clienten wie "TEST123\n123". Das Problem dabei ist das dass \n zwar eine Neue Zeile macht aber die nächste Zeile ziemlich weit nach rechts verschiebt. Außerdem schickt der Telnet Client die antwort sobald ich eine Taste drücke. Ich möchte aber das er die Antwort erst schickt wenn ich enter drücke. Gibt es eine bestimmte Liste wie ich telnet Formatieren kann?Gute Nacht noch.
-
Telnet schrieb:
Ich habe ein Server Programm erstellt auf das per Telnet zugegriffe wird ich schicke strings an den Telnet clienten wie "TEST123\n123".
Du meinst, Du hast einen Telnet-Server geschrieben und verbindest mit einem (welchem?) Telnet-Client?
Telnet schrieb:
Das Problem dabei ist das dass \n zwar eine Neue Zeile macht aber die nächste Zeile ziemlich weit nach rechts verschiebt.
Beim Zeichen für ein "Newline" herrscht leider (noch immer) Uneinigkeit zwischen verschiedensten Betriebssystemen:
- Unix, Linux, MacOS X, AIX, Amiga: '\n' (linefeed)
- DOS, Windows, OS/2: '\r' + '\n' (carriage return + linefeed)
- Mac OS < X: '\r' (carriage return)
In den gebräuchlichen Telnet-Clients kann man einstellen, welche Variante verwendet wird. (Du scheinst "\r\n") zu benötigen. Ich frag' mich grad', wie zum Teufel Du einen Telnet-Server schreiben kannst, ohne sichtlich niemals einen Client bedient zu haben...
Telnet schrieb:
Außerdem schickt der Telnet Client die antwort sobald ich eine Taste drücke. Ich möchte aber das er die Antwort erst schickt wenn ich enter drücke.
Contradictio in adjecto: Der Client sendet (hoffentlich) einen Request und der Server die Response. Somit bist Du selbst (wenn Du einen Server geschrieben hast/dabei bist einen zu schreiben) dafür Verantwortlich, wenn die Antwort "zu früh" gesendet wird.
Telnet schrieb:
Gibt es eine bestimmte Liste wie ich telnet Formatieren kann?
Was heißt für Dich "formatieren"? Telnet ist ein Protokoll, welches von der IETF in den RFCs 854 (Telnet Protocol Specification), 855 (Telnet Option Specifications), 856 (Telnet Binary Transmission), 857 (Telnet Echo Option), 858 (Telnet Suppress Go Ahead Option), 859 (Telnet Status Option), 860 (Telnet Timing Mark Option) und 861 (Telnet Extended Options) beschrieben wird.
Bitte klär uns auf.
greetz, Swordfish
-
Hi,
Danke für deine Antwort!
Mit "\r\n" funktioniert es nun eine neue Zeile korrekt darzustellen.Du meinst, Du hast einen Telnet-Server geschrieben und verbindest mit einem (welchem?) Telnet-Client?
z.Z. benutze ich den standart clienten der bei WinXP in der cmd eingearbeitet ist.
Contradictio in adjecto: Der Client sendet (hoffentlich) einen Request und der Server die Response. Somit bist Du selbst (wenn Du einen Server geschrieben hast/dabei bist einen zu schreiben) dafür Verantwortlich, wenn die Antwort "zu früh" gesendet wird.
Das verstehe ich jetzt nicht so ganz. Also es gibt ja Server programme über die man mit Telnet drauf connected. dann kann man anschließend z.B. ein Passwort eingeben und wenn man dann enter drückt schickt der telnet client es zum Server. Bei mir ist es z.Z. so das sobald ich eine Taste drücke(z.B. 'a') der clienten gleich a hin sendet und nicht wartet bis ich enter drücke, wie bekomme ich das hin?
Schönen Tag noch.
-
Zeig' doch mal Code.
greetz, Swordfish
-
Hi,
Also ich sende folgendes an den Clienten:
"Hello...\r\nPlease Enter the Password:\r\n"
Was muss ich da noch mitschicken damit er wartet bis ich enter drücke?
-
Sry das ich nochmal schreibe.
Ich habe mir jetzt den RFC angeschaut, dort jedoch nichts passendes gefunden.
Bis jetzt sende ich die Strings einfach mit "\r\n" am Ende, diese werden auch korrekt angezeigt. Nur soll der Client warten bis man enter drückt bevor er die daten sendet.
@Swordfish:
Was meinst du genau mit "Der Client sendet (hoffentlich) einen Request und der Server die Response." gibt es dort eine bestimmung wie man das genau machen muss?
-
lol.. Also Bestimmungen gibt es immer bei Protokollen... Oder wie soll der Client sonst wissen, was er machen soll, wenn du ihm "Gib mir das Passwort" o.ä. schickst...
Du solltest dir evtl ma das Telnet-Protokoll angucken... Such bei google oder wikipedia...bb
-
Hi,
Ja das ist ja das Problem ich finde bei Google nicht was ich senden muss. In der RFC finde ich nichts, da steig ich nicht durch.