Hi Jean-Paul! Ok, that's exactly what I was after, the character mode. I'll try make the telnet client switch to character mode with IAC + WONT + LINEMODE
Br. Teuvo >>I have an application, with Python 2.4 and Twisted 8.2.0. >> >>Can I somehow detect e.g. CTRL-J key presses in: >> >> >> class Telnet_simulation(telnet.Telnet) >> --> >> def dataReceived(self, data): >> >>(or elsewhere in code)? >> > >If the `telnet“ above is twisted.protocols.telnet, then you >should switch >to twisted.conch.telnet. If it's twisted.conch.telnet, then you should >override `applicationDataReceived“, not `dataReceived“ (or use >one of the >other mechanisms for hooking into it - subclass and override is one >approach, but there are others which you can find examples of >in doc/conch/ >examples). > >> >>When sending CTRL-C, the dataReceived() is called >immeaditely, but when >>sending some other combinations, the data can be seen only after Enter >>is pressed? >>(telnet_Command is called then) But the CTRL-J is not a >telnet command, >>it should act same way as CTRL-C. > >Ah, telnet_Command, I guess you are using twisted.protocols.telnet. :) > >Most likely your telnet client is in line editing mode. This means it >isn't sending data typed in until enter is pressed, so of >course you can't >receive it until then. There are telnet negotiation options >which you can >use from the server to ask the client to go into character >mode. You can >see some code which negotiates about linemode in >twisted/conch/telnet.py >(search for LINEMODE). I'm not sure if LINEMODE is the >preferred option >for controlling this behavior (I seem to recall there being >another one, >but I forget which obsoleted which). > >Also, [email protected] might be a more >appropriate list for >this topic, since this is a web-oriented list. > >Jean-Paul _______________________________________________ Twisted-web mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
