QDataStream in(socket);
if (tailleMessage==0)//Si on ne connaît pas encore la taille du message, on essaie de la récupérer
{
if (socket->bytesAvailable()<(int)sizeof(quint16))//On n'a pas reçu la taille du message en entier
return;
in>>tailleMessage;//Si on a reçu la taille du message en entier, on la récupère
}
//Si on connaît la taille du message, on vérifie si on a reçu le message en entier
if (socket->bytesAvailable()<tailleMessage)//Si on n'a pas encore tout reçu, on arrête la méthode
return;
//Si on arrive jusqu'à cette ligne, on peut récupérer le message entier
QString messageRecu;
in>>messageRecu;
QPixmap pixmap("puzzle.png");
QImage image(pixmap.toImage());
//On affiche le message sur la zone de Chat
QTextCursor textCursor=textEditListeMessages->textCursor();
textEditListeMessages->append("");//Pour le saut de ligne
textCursor.insertImage(image);//Colle l'avatar approprié
textCursor.insertHtml(messageRecu);
//On remet la taille du message à 0 pour pouvoir recevoir de futurs messages
tailleMessage=0;
Bookmarks