brauche dringend telnetlib hilfe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Wie kann ich, wenn ich einen Befehl ans Telnet gesendet habe, solange auslesen, bis nichts mehr kommt?

also normalerweise kann man ja so die verbindung aufbauen:

Code: Alles auswählen

from telnetlib import Telnet

con=Telnet("192.168.1.21")
und die meisten benutzen dann den befehl Telnet.read_until("meinerueckgabe", timeout)

aber dieser befehl ist ja dafür, das er so lange aus liest bis er auf meinerueckgabe kommt oder eben bis der timeout vorbei ist

aber wie kann ich die ausgabe so lange auslesen, bis keine mehr da ist?

Habe hier http://docs.python.org/library/telnetli ... read_until leider nichts gefunden, das mir helfen könnte.

Bitte um Hilfe
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

timeout ist optional, wenn du also keines übergibst funktioniert dass ganze vermutlich blockend und du hast das gewünschte Ergebnis.
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Nein, dann geht leider überhaupt nichts mehr, denn er sucht ja so lange bis das kommt, und wenn es nicht kommt, macht er es trotzdem
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du kannst ja prinzipbedingt nicht wissen, ob bei einem Socket noch etwas kommt oder nicht.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Was soll auch sonst passieren?
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Das heißt es ist unmöglich alles auszulesen, wenn ich nicht weiß, was die letzte Ausgabe ist?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gugugs hat geschrieben:Das heißt es ist unmöglich alles auszulesen, wenn ich nicht weiß, was die letzte Ausgabe ist?
Ja, oder wenn du nicht weißt wie viele Bytes noch kommen. HTTP nutzt etwa Content-Length um dem Client zu sagen, wieviel Bytes da noch kommen werden.
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Das versteh ich nicht ganz
Kann mir vllt jemand ein wenig auf die Sprünge helfen, das zu realisieren, auch wenn es ein bisschen anders ist?
Wie ist das mit Content-Length?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gugugs hat geschrieben:Kann mir vllt jemand ein wenig auf die Sprünge helfen, das zu realisieren, auch wenn es ein bisschen anders ist?
Wie ist das mit Content-Length?
Der HTTP-Server schickt einen Header, Content-Length bei einem HTTP-Request mit, der Besagt, wie viele Bytes noch folgen werden.

Sowas gibt es bei Telnet schlichtweg nicht.
Antworten