J'ai deux executables : un client et un serveur.
J'utilise la méthode de base qui consiste à faire un
- connect(socket, SIGNAL(readyRead()), this, SLOT(readyRead()));
pour lire les messages entrant, et un
- QTextStream os(socket);
- os << texte<<"\n";
pour envoyer un message.
Mon probleme se situe dans la gestion des envois de message.
Lorsque mon serveur envoie par à-coup des megas de donnée, mon client les recoit en polling (ex: tout d'un coup au bout de 20 secondes).
J'ai beau mettre des flush, retourner dans la boucle d'evenement apres avoir stocké les messages (pour les traiter ailleurs que dans l'appel de readyRead()), ca ne change rien à l'affaire
Comment faire pour que mon client recoive son message des qu'il est envoyé en conservant la notion d'asynchrone? (il ne fait rien d'autre que d'attendre. Il affiche quand-même quelques informations mais le temps de calcul est négligeable)
Partager