Bonjour à tous.
Voici une partie du code que j'étudie :
La syntaxe "in >> " apparaît deux fois ici. Je précise que je travail avec Qt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 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 ces lignes s'exécutent, c'est qu'on a reçu tout le message : on peut le récupérer ! QString message; in >> message;
Il est précisé dans le texte que in est un objet :
je ne comprends pas cet objet "in" pour lequel je n'ai trouvé d'explication, ni dans C++, ni dans Qt.Notre objet " in" va nous permettre de lire le contenu du sous-paquet que vient de recevoir la socket du client.
Quant à la syntaxe "in >> message", doit-on comprendre que l'on copie ou que l'on transfert les données de "in" vers "message".
Pareillement, dans "in >> tailleMessage", le message reçu peut être supérieur à la seule valeur de taille du message (un quint16). Comment alors extraire de "in" la seule taille du message .
Bref, cet objet "in" m'est assez obscure et je ne l'ai pas trouvé documenté.
Pouvez-vous éclaircir ma lanterne ?
Merci par avance.
Partager