Bonjour, je cherche à optimiser une partie de mon code
Je suis en train de développer un serveur SSL avec Qt;
j'ai plusieurs classes:
-CoreServer
-Client (QObject)
|-ClientSocket (QSslSocket)
|-ClientUser
La Classe client contient entre autre un pointeur vers le socket SSl du client
Quand je reçoit des données sur mon serveur je récupère le socket via
Code C/C++ :
QSslSocket *socket = qobject_cast<QSslSocket *>(sender());
Je cherche à récupérer le client qui possède ce socket, la seul technique que j'ai trouvé c'est de faire une boucle dans tout mes clients. (clients est une liste qui contient tous mes clients,clients[i]->socket() retourne un pointeur vers le ClientSocket)
Code C/C++ :
Client *client=NULL;
for (int i = 0; i < clients.size(); i++)
{
if(socket->socketDescriptor() == clients[i]->socket()->socketDescriptor())
{
client=clients[i];
}
}
cette solution fonctionne, mais je pense qu'elle n'est pas du tout optimisé, je cherche donc une meilleur façon de faire!!
merci de votre lecture