c++ - 使用Qt的多客户端服务器的方法

标签 c++ qt networking tcp threadpool

我用QT LIB在C++中创建一个多客户端服务器(IRC)。我想知道它是否是服务器架构的一种好方法。
我想避免为每个连接创建线程,所以我认为我可以将所有客户端套接字放在某种容器中,并使用线程池执行操作(如处理传入数据包)。
我唯一关心的是,将套接字连接到SLOT是否保证并行客户端处理。
代码:

CServer::CServer(QObject *parent) : QTcpServer(parent)
{
        server = new QTcpServer(this);
        connect(server, SIGNAL(newConnection()), this, SLOT(newConnection()));

        if(!server->listen(QHostAddress::Any, 6667)) 
            qDebug() << "Oh noes";
}

void CServer::newConnection(){
           add server->nextPendingConnection() to the container
}

最佳答案

关于c++ - 使用Qt的多客户端服务器的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072248/

相关文章:

Qt Arm 远程调试

java - 有没有办法确定是否已在 TCP Java Socket 中接收到数据

java - 如果在 Java 中关闭套接字,是否需要关闭流?

sockets - Google 会为它收到的每个请求打开多少个套接字?

c++ - Opengl 3+ 绘制不同颜色的线条

c++ - 对 boost::system::generic 的另一个 undefined reference

c++ - Visual Studio 2008 Qt项目配置

c++ - 为什么 C++ 需要析构函数?

c++ - 为什么 g++ 无法编译。当获取模板化类的模板化成员函数的地址时

c++ - 从 Qt 中的 QMainWindow 的构造函数启动一个新线程