[Python] Comunicazione via Telnet.

Gabriele Battaglia iz4apu a libero.it
Ven 4 Dic 2015 16:33:35 CET


Salve.
Torno sull'argomento Telnet perchè nel frattempo ho circoscritto un po 
il problema.

Sono dunque sotto Win 7 a 32 Bits, uso Python 2.7.10.

Apro una connessione Telnet con un server tramite il metodo open() della 
classe Telnet del modulo telnetlib.
Scrivo sul canale con ...write(), leggo le singole stringhe con 
...read_eager() oppure tutto il buffer dall'ultima lettura con il metodo 
read_very_eager().

Premetto che non ho capito la differenza fra read_lazy() e read_eager() 
e le loro varianti con _very_, se non che Eager riceve effettivamente 
l'output del server, mentre lazy, no.

La domanda è, come faccio a capire quando c'è qualcosa da leggere nel 
buffer?
Devo interrogarlo ad ogni ciclo di programma con:
if [...].read_eager() != "":

O esiste qualcosa di diverso?
Non so nulla dei socket, ad esempio, che servano a questo scopo? Ho 
letto un HOWTO sui Socket ma non ci ho capito quasi niente.

Se voi doveste implementare una semplice chat telnet, come fareste a 
sapere quando il corrispondente a scritto qualcosa e quindi leggerlo dal 
buffer per stamparlo a video?

Gabry.


Maggiori informazioni sulla lista Python