3

我正在用 python 创建一个服务器(它在做什么是无关紧要的),但我希望它接受 telnet 连接并提供具有行编辑功能(tabcompletion、emacs/vi-mode 等)和每个会话历史记录的命令行界面. 我已经成功创建了 telnet 会话,禁用了线路模式并启用了服务器回显。

我最初的想法是使用 readline,但 python readline 模块似乎只适用于 stdin 上的单个会话;并检查似乎是它工作方式的底层 readline 库。

但是,我想做的是为每个客户端创建一个实例(如果您愿意,可以将其称为状态),并在接收到字符(字节)时提供给状态。一旦生成了完整的行,它将把它传递给可以解析它的服务器。

所以我的问题是,如果有一个库可以处理这种事情,即使是一个 c 库就足够了。

编辑:澄清一下,我已经有了一个功能齐全的服务器,但我希望 telnet 接口作为重新配置、获取信息等的附加功能。

4

3 回答 3

2

听起来您已经对 TELNET 部分进行了排序,现在您想提供 BASH、KSH 等 shell 中常见的功能。我自己没有尝试过,但看看shython:“一个具有功能的多功能 shell bash 和 python 的"。

于 2010-08-05T08:25:49.643 回答
1

也许cmd图书馆可能会感兴趣/有帮助?

于 2010-08-05T08:15:48.433 回答
0

你需要 telnetlib http://docs.python.org/library/telnetlib.html?highlight=telnet#module-telnetlib

于 2010-09-21T17:38:32.470 回答