Bonjour,
j'ai un petit problème :
Je suis en train de tenter de faire un peu de communication reseau sur mon programme (TCP).
Dans le protocole déjà défini (puisque je reprends le programme), au début de chaque trame, je dois envoyer un en-tête qui est une structure.
Ce que j'aurais voulu faire, c'est utiliser l'opérateur << comme je le fais déjà lorsque je veux faire transiter des types connus (quint8, QString ...).
Par exemple :
sachant que header est une structure qui ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 QByteArray data; QDataStream out(&data, QIODevice::WriteOnly); out << (quint16) 0; // Fonctionne out << header; // Ne fonctionne pas, header ne fait pas partie de la arguments list de QDataStream &operator
(Note cmdType est de type enum)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // format d entete des commandes typedef struct _cmdHeader { cmdType m_stCmd; // valeur de la commande quint32 m_dwSize; // taille de la structure de commande quint32 m_dwNextCmdOffset; // position de la prochaine commande dans le cas // des protocoles } cmdHeader;
Comment je pourrais faire sachant que de l'autre côté (côté serveur) j'aimerai aussi récupérer cette structure avec l'opérateur réciproque ?
Partager