2

Qt lib を使用して C++ でマルチ クライアント サーバー (IRC) を作成しています。それがサーバー アーキテクチャへの適切なアプローチであるかどうかを知りたいです。

接続ごとにスレッドを作成することは避けたいので、すべてのクライアント ソケットをある種のコンテナーに格納し、ThreadPool を使用してアクション (着信パケットの処理など) を実行できると考えました。

私の唯一の懸念は、ソケットを に接続することで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
}
4

0 に答える 0