Ahora con el telnet

Jose Manuel Vivó jmvivoa en yahoo.es
Jue Oct 2 09:13:14 CEST 2003


El Miércoles, 1 de Octubre de 2003 19:41, Oscar Merchan escribió:
> Hello Lista,
>
>   Bueno, mientras me contestais al otro problema, he ido haciendo mas
>   cosillas, y con el otro error mas o menos para mi grabe, es a la
>   hora de hacer un telnet desde python a otra maquina, las pruebas que
>   he hecho en el interprete de python me han salido muy bien, pero la
>   cuestion es que quiero que el telnet se haga en una de las ventanas
>   del programa que he hecho en wxpytho, os pongo las lineas donde
>   intento hacerlo ( que con lo negado que soy, fijo que esta mal )
>
>         if orden == "telnet":
>             tn=telnetlib.Telnet()
>             tn.open(ip)
>            
> self.text_ctrl_2.SetValue(self.text_ctrl_2.GetValue()+tn.interact()+"\n")
>
>
>   Para el que se pregunte por que le sumo el valor anterior de lo que
>   habia en la ventana, es simplemente para que toda la informacion se
>   mantenga en la ventana, y que con el scroll se pueda ver todo, pero
>   si me decis que no puedo hacer eso al querer hacer el telnet, pues
>   nada me olvidare de ello.

Hola oscar.

	Me imagino lo que quieres hacer pero no funciona seguro, piensa en los 
siguientes puentos:
	
	1. El metodo SetValue evalua la expresion que le pasas como parametro al 
invocarlo, establece el valor (solo una vez) y termina. Con lo que no evalua 
constane mente el resultado de una funcion que le pases ni nota que ha 
cambiado.

	2. Que valor de retorno tiene la función 'interactive'?.... ninguna. Se 
limita a meterse en un bucle que termina con una señal de EOF que se produce 
cuando se corte la conexion.

	Si querias montar un cliente telnet, con esto no te servira. Tendrias que 
pedir a la instancia del telnet el socket (get_socket()), ir haciendo reads 
de el para insertarlos en el text al final, y luego escribir en el lo que te 
escriban en el text (posiblemente capturando los eventos de pulsacion de 
teclas).

Espero que te haya servido de ayuda.
Un Saludo.
Jose Manuel




Más información sobre la lista de distribución Python-es