Bonjour à tous et à toutes
Lorsqu'un client se déconnecte, j'utilise ceci :
cout<<"Client "<<client.getRemoteAddress()<<" disconnected"<<endl;
client.disconnect();
m_selector.remove(client);
it = m_clients.erase(it);
Selon moi, ce code devrait théoriquement fonctionner, mais ça ne fonctionne pas. Après quelques tentative, j'ai trouvé le problème (oui pour une fois j'ai trouvé moi-même le problème
) et voici ma conclusion :
remove doit être appelé avant disconnectDu coup, ce code fonctionne nickel :
cout<<"Client "<<client.getRemoteAddress()<<" disconnected"<<endl;
m_selector.remove(client);
client.disconnect();
it = m_clients.erase(it);
Est-ce normal/prévu que ça fonctionne ainsi
Merci et bonne journée !