【发布时间】:2012-01-19 21:52:13
【问题描述】:
我正在用 Python 编写一个带有 Urwid 前端和 MongoDB 后端的应用程序。最终目标是能够通过 SSH 为应用程序提供服务。该应用程序有自己的身份验证/身份系统。我不关心为每个用户启动一个新进程的开销,预期的并发用户数很低。由于客户端不会调用任何状态信息,而是全部存储在数据库中,因此我不关心会话本身,除非出于身份验证目的。
我想知道是否有任何方法可以按原样提供应用程序,而无需滚动我自己的套接字服务器代码或使用 Twisted 重新编码应用程序。老实说,我不知道 Urwid 和 Twisted 是怎么一起玩的。我看到 Urwid 有一个 TwistedEventLoop 方法,声称使用扭曲反应器,但我找不到任何通过扭曲连接运行 Urwid 应用程序的示例代码。示例将不胜感激,即使是简单的示例。我也看过 ZeroMQ,但这似乎比 Twisted 更难以理解。简而言之,我探索了许多声称通过 tcp 为应用程序提供服务的不同库,其中大部分是通过 telnet。而且几乎所有人都专注于 http。
最坏的情况我希望我可以创建一个极度锁定的用户作为全局登录并使用 chrooted SSH 会话。这样每个用户都有自己的 chroot/process/client。是的,我知道这可能是一个“非常糟糕的主意(tm)”。但我不得不把它作为一种可能性扔出去。
感谢任何建设性的反馈。侮辱、责备和傲慢将受到谴责、打印和吐口水。
-CH
【问题讨论】: