Recientemente comencé a utilizar telnetlib, ¿cuál es la diferencia entre tn.read_all y tn.read_very_eager?
Recientemente comencé a utilizar la biblioteca telnet en Python, ¿cuál es la diferencia entre tn.read_all y tn.read_very_eager en Python?
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Tanto
tn.read_all
comotn.read_very_eager
son métodos proporcionados por la bibliotecatelnetlib
en Python que te permiten leer datos de una sesión Telnet.tn.read_all
es un método de bloqueo que lee todos los datos actualmente disponibles en la sesión hasta que el lado remoto cierre la conexión. Espera hasta recibir el carácter de Fin de Transmisión (EOT), que indica el final del flujo de entrada, y devuelve todos los datos como una cadena.Por otro lado,
tn.read_very_eager
es un método no bloqueante que devuelve todos los datos que actualmente están disponibles en el búfer de la sesión. No espera el carácter EOT y devuelve cualquier dato que se encuentre actualmente en el búfer.Entonces, la principal diferencia entre los dos es que
tn.read_all
espera a que el lado remoto cierre la conexión y devuelve todos los datos, mientras quetn.read_very_eager
solo devuelve los datos actualmente disponibles en el búfer sin esperar a que el lado remoto indique el final del flujo de entrada.En general,
tn.read_very_eager
es más útil cuando quieres procesar los datos tan pronto como estén disponibles, mientras quetn.read_all
es más útil cuando quieres esperar hasta haber recibido todos los datos antes de procesarlos.