我想写一个 Linux 命令行聊天室客户端。
我想将命令窗口拆分为不同的部分:输入、聊天、房间、像这样的状态。
如何将新消息从服务器打印到窗口的聊天部分,同时保留窗口的其他部分?
现在,我写的客户端很简单,它将所有消息打印到stdout
,所以它会破坏你输入的单词。
我想写一个 Linux 命令行聊天室客户端。
我想将命令窗口拆分为不同的部分:输入、聊天、房间、像这样的状态。
如何将新消息从服务器打印到窗口的聊天部分,同时保留窗口的其他部分?
现在,我写的客户端很简单,它将所有消息打印到stdout
,所以它会破坏你输入的单词。
通过使用ncurses。它是几乎所有 Linux 发行版中的标准组件,并且有据可查(它甚至还附带了所有例程的全套手册页;例如,该man 3 printw
命令显示了printw()
函数的文档)。它也很容易使用。您可以在屏幕上创建多个“窗口”,并且可以使用 x/y 坐标在任何您喜欢的位置书写文本。当然,它们不是真正的窗口,因为这是一个文本终端;ncurses 窗口只是终端的一个区域。
有关很好的介绍,请参阅NCURSES Programming HOWTO。