J'ai une configuration d'application client-serveur en utilisant QTcpServer et QTcpSockets et semble avoir d'énormes fuites de mémoire. Je me demande si le problème est dans mon utilisation des sockets de Qt parce que je viens de mettre en place une application de test simple et après avoir envoyé 250 millions de messages dans une boucle mon client s'élève à 75 mégaoctets. Il semble que si j'ai plusieurs millions de messages, je vois plus de 300 Mo de mémoire utilisée dans mon client.QTcpSocket fuite de mémoire
Cela ne me semble pas juste, car je continue d'envoyer des messages que la mémoire ne cesse de monter!
Donc devrais-je m'attendre à ce que mon application monte constamment en mémoire étant donné le code suivant sur un socket connecté. Si cette prise est laissée ouverte, je vais rapidement manquer de mémoire. Est-ce que je manque quelque chose?
if (socket && socket->isOpen())
{
for(int i = 0; i < 25000000; ++i) {
QString str = "test";
socket->write(str.toStdString().c_str());
}
}
Comment initialisez/assignant vous votre variable socket? Ajoutez plus de code si vous le pouvez. – Huy