3

我正在学习 C++,所以我决定开始编写 IRC 客户端。

我基本上希望它是基于控制台的,并且我已经查看了诸如 ncurses 之类的库,但我真的不知道这是否是最好的方法。

我想象 UI 被分成一个部分,无论写入什么消息都会出现,另一部分是用户输入的部分。Ncurses 似乎能够做到这一点,但现在我发现了另一个问题。

因为我希望消息部分是事件驱动的(每当有人发送消息时,这应该出现在消息部分中),所以 UI 的消息部分应该独立于输入部分运行。此外,套接字也必须是非阻塞的。

我在互联网上环顾四周,并没有找到任何好的教程,因为大多数教程要么非常非常老,要么写得不好,要么就是太长了。

无论如何,我的问题是,这将如何使用 ncurses 和套接字库来完成?他们是否有任何好的 C++ 包装器(我从阅读 ncurses 教程中学到的一件事是 OOP 真的很棒......)?

4

2 回答 2

2

你可能需要使用几个线程来做到这一点,所以我会看看pthreads。然而,你不应该害怕冗长的教程,因为你想要实现的并不是那么简单,特别是如果 C++ 是你学习的第一门计算机语言。

于 2011-06-30T22:29:51.027 回答
1

在界面上使用 ncurses 听起来是个好主意。您可以创建基于单线程选择的网络和终端客户端——查看Beej 的指南。或者,Boost.asio,单线程或多线程,也应该是一个可靠的选择。

于 2011-06-30T23:38:09.733 回答