我正在用 python 创建一个服务器(它在做什么是无关紧要的),但我希望它接受 telnet 连接并提供具有行编辑功能(tabcompletion、emacs/vi-mode 等)和每个会话历史记录的命令行界面. 我已经成功创建了 telnet 会话,禁用了线路模式并启用了服务器回显。
我最初的想法是使用 readline,但 python readline 模块似乎只适用于 stdin 上的单个会话;并检查似乎是它工作方式的底层 readline 库。
但是,我想做的是为每个客户端创建一个实例(如果您愿意,可以将其称为状态),并在接收到字符(字节)时提供给状态。一旦生成了完整的行,它将把它传递给可以解析它的服务器。
所以我的问题是,如果有一个库可以处理这种事情,即使是一个 c 库就足够了。
编辑:澄清一下,我已经有了一个功能齐全的服务器,但我希望 telnet 接口作为重新配置、获取信息等的附加功能。