Bonjour à tous.

Voici une partie du code que j'étudie :
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;
La syntaxe "in >> " apparaît deux fois ici. Je précise que je travail avec Qt.

Il est précisé dans le texte que in est un objet :
Notre objet " in" va nous permettre de lire le contenu du sous-paquet que vient de recevoir la socket du client.
je ne comprends pas cet objet "in" pour lequel je n'ai trouvé d'explication, ni dans C++, ni dans Qt.

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.