关于 c :TCPStream 类用于多线程 TCP 服务器

TCPStream Class for multithreaded TCP server

我目前正在将一个小型控制台应用程序转换为 TCP 服务器/客户端应用程序。客户端将通过任何 Telnet 客户端连接到服务器,服务器将为每个 Telnet 连接复制标准控制台界面。

我开始研究使用从 Beej\\'s guide to network Programming 中学到的技术——接受连接,然后使用 fork() 将它分离成自己的进程。

然而,我更愿意保持我对流式 IO 的使用(原始控制台应用程序使用 cin / cout,使用类似的网络逻辑函数会使转换过程更简单)。

我发现了隐藏在 sockets.h 中的 TCPStream 类 (http://www.gnutelephony.org/doxy/bayonne2/a00215.html)

看来这个类将允许我使用带有流式 IO 的服务器。但是,我找不到使用此类的单个示例,也找不到有关如何使用 fork() 的说明。

有什么想法吗?在此先感谢您的帮助。


我认为您将树木与森林混淆了。一个套接字类只是您需要做的整体工作的一小部分,因此不值得关注。

如果您的目标只是让您的项目工作,那么只需使用现有框架,而不是尝试从大型项目中提取单个类。 POCO 有一个 TCPServer 类,它将为您完成 90% 的工作。 QT、ACE 等也有类似的类。关于 POCO 的文档并不多,但它们确实很好地涵盖了 TCPServer,如果您真的感兴趣的话,您可以从阅读源代码中学到很多东西。