如何使用ncurses在telnet接口上绘图.



我正在用ruby写一个小泥,我需要一些文本框和菜单项(TUI)。客户端通过telnet连接到这个应用程序,我尝试使用NCurses,但不知道它如何绘制到作为套接字的IO。。。有没有任何可能的方法可以开发我自己的文本框和菜单小部件,我已经尝试过查看VT-100 ansi终端转义码。可以写一些彩色的文字,就是这样。。。是否可以使用标准telnet应用程序创建事件驱动的接口。

编写一个常规ncurses程序/ruby脚本并将其管道连接到套接字会更容易。

例如。在端口上托管vi

打开一个终端并将其作为根执行

mkfifo ncpipe
nc -l -p 800 0<ncpipe |  vi   1>ncpipe 

此在端口800上承载vi应用程序打开另一个终端

telnet 127.0.0.1 800

您可以用ncurses程序替换vi。

注意:这是一个非常基本的例子,因为nc只处理一个传入连接,然后终止。您将需要其他服务器程序,如"socat"

NCurses不知道如何写入IO::Socket,因为它是为写入STDOUT而设计的,所以唯一剩下的方法是ANSI转义码。使用ANSI和VT-100转义码请求将telnet从行模式切换到字符模式将有助于开发文本框小部件等。。。。

http://ascii-table.com/ansi-escape-sequences-vt-100.php#对于彩色

http://www.faqs.org/rfcs/np.html#TELNET#进行其他修改。

最新更新