0

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

我开始考虑使用从 Beej 的网络编程指南中学到的技术——接受连接,然后使用 fork() 将其分离到自己的进程中。

但是,我更愿意继续使用流式 IO(原始控制台应用程序使用 cin / cout,对网络逻辑使用类似的功能将使转换过程更简单)。

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

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

有任何想法吗?提前感谢您的帮助。

4

1 回答 1

1

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

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

于 2011-04-20T21:13:43.803 回答