[Twisted-Python] How to write a simpletelnet client?
Henning.Ramm at mediapro-gmbh.de
Henning.Ramm at mediapro-gmbh.de
Mon Sep 26 12:30:23 EDT 2005
>>I didn't expect that one must handle control codes (your function reponseFunct), I expected the protocol to handle that for me, but anyway, that was no problem (i.e. you solved it before). And with your code I could even switch off the echo (your next thread).
>You don't actually have to do this. You can implement iac_DO, iac_DONT, iac_WILL, and iac_WONT to handle feature negotiation.
>You can also use twisted.conch.telnet, which presents a slightly more complete API for feature negotiation.
Thank you, I'll look into it. It's better to use ssh anyway.
>>What I don't understand is how to 'inject' some commands and collect their result.
>>What you tried in your "command" function in __main__ can't work, because the protocol has no transport.
>>I don't understand how to get at the Factory's actual protocol instance and its transport.
>Factory's don't have protocol instances, in general. A factory is responsible for creating between zero and an unlimited number >of instances of a protocol, as they are demanded by established connections.
>Protocol.connectionMade is provided as a hook for application-level logic. You may want to send your commands from that method. >When it is invoked, you will have a transport.
Thank you.
I don't understand how connectionMade would help me here - I use it to switch off ECHO, but everything else is in dataReceived to react on prompts. And I've telnet_Command to issue a command (i.e. I queue it while there's no connection), but if I use the Protocol in a Factory, I can't get my hands on it. Perhaps I simply shouldn't use a Factory.
I guess the UDP code you're discussing with Drake Smith will help me further, his task seems similar to mine.
Best regards,
Henning Hraban Ramm
Südkurier Medienhaus / MediaPro
Support/Admin/Development Dept.
More information about the Twisted-Python
mailing list