TCPStream类用于多线程TCP服务器

TCPStream Class for multithreaded TCP server

本文关键字:TCP 服务器 多线程 用于 TCPStream      更新时间:2023-10-16

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

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

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

我已经发现TCPStream类,隐藏在socket .h (http://www.gnutelephony.org/doxy/bayonne2/a00215.html)

看来这个类将允许我使用流IO服务器。然而,我找不到一个使用这个类的例子,也找不到一个关于如何使用fork()的解释。

任何想法?谢谢你的帮助。

我认为你把树和森林混淆了。一个套接字类只是你需要做的事情的一小部分,所以不值得关注它。

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