通过telnet / ssh实现nCurses

时间:2012-11-11 19:53:59

标签: ruby telnet ncurses curses tty

我目前正在尝试实现一个小型telnet服务器,该服务器在客户端的连接上生成PTY,并将小型nCurses应用程序的输出传输到客户端。我在ruby工作,但问题是与语言无关。我的用例不要求应用程序的用户登录用户帐户,因此我不希望将屏幕的正确传输委托给系统工具,如telnetd。

给定TCP连接,通过telnet或ssh传输文本nCurses接口有哪些要求?为确保客户端的屏幕刷新能够适当地呈现应用程序,需要哪些类型的缓冲或编码?这显然是在典型的ssh会话期间处理的,但它是如何完成的?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您需要设置TERM,LINES和COLUMNS环境变量(您可以通过NVT protocol获得正确的值)。然后你就可以开始简单地生成一个ncurses应用程序了(显然你的PTY就像它的stdin / stdout一样)。您不需要缓冲或以其他方式篡改字符流(除了NVT实现之外)。