开发者

python line editing telnet server

开发者 https://www.devze.com 2023-01-10 13:23 出处:网络
I am creating a server in python (what it is doing is irrelevant)开发者_如何转开发, but I would like it to accept telnet connections and provide a command line interface with line editing capabilities

I am creating a server in python (what it is doing is irrelevant)开发者_如何转开发, but I would like it to accept telnet connections and provide a command line interface with line editing capabilities (tabcompletion, emacs/vi-mode, etc) and history per session. I have successfully created the telnet session, disabled line mode and enabled server echo.

My initial thoughts were using readline but the python readline module seems to only work for a single session on stdin; and examining the underlying readline library that seems to be the way it works.

What I would like to do however is to create an instance (call it state if you like) for each client, and as characters (bytes) are received feed to the state. Once a complete line has been generated it would pass it to the server which may parse it.

So my question is if there is a library which handles this kind of thing, even a c-library would be sufficient.

EDIT: To clarify, I've got a fully functional server already, but I want the telnet interface as an add on to reconfigure, get information, etc.


It sounds like you've got the TELNET part sorted, and now you want to provide features commonly found in shells like BASH, KSH etc. I've not tried it myself, but have a look as shython: "a versatile shell having features of both bash and python".


Perhaps the cmd library could be of interest/help?


You need telnetlib http://docs.python.org/library/telnetlib.html?highlight=telnet#module-telnetlib

0

精彩评论

暂无评论...
验证码 换一张
取 消