Bonjour,
Je rencontre actuellement un problème, j'essaye de faire communiquer un programme QT qui utilise QtNetwork, et un serveur Boost::asio.

Pour le moment j'arrive parfaitement à établir la connexion, et à communiquer en mode texte, mais dès que j'envois des structures cela ne fonctionne plus.

Voici la méthode que j'utilise:

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
19
20
21
22
23
24
25
 
        struct toto {
            int p;
            int s;
            char d[10];
        };
 
        toto t;
        t.p = 42;
        t.s = 43;
        t.d[0] = 'a';
        t.d[1] = 'b';
        t.d[2] = 'c';
        t.d[3] = 'd';
        t.d[4] = 'e';
        t.d[5] = 'f';
        t.d[6] = '\0';
 
        QByteArray block;
        QDataStream out(&block, QIODevice::WriteOnly);
        out.setByteOrder(QDataStream::ByteOrder(QSysInfo::ByteOrder));
        out << t.p;
        out << t.s;
        out.writeRawData(t.d, sizeof(t.d));
        socket->write(block, sizeof(toto));
J'ai essayer plein d'autre combinaison sans succès. Je n'arrive coté serveur à récupérer uniquement les 2 premier élément de ma structure...

Google ne me donne aucune solution fonctionnel.

Merci pour vos réponses.