Taille du paquet en préfixe ?!
Salut,
Je cherche à faire communiquer mon application C++/Qt avec un serveur, PHP.
Certains me diront que c'est bizarre, mais c'est un choix que j'ai fait.
Le serveur PHP tourne en CLI, et la socket est ouverte de la manière la plus classique possible (socket_create, socket_bind, socket_listen, socket_accept, socket_read).
Du coté C++, l'envoi me parait aussi des plus classiques :
Code:
1 2 3 4
| QByteArray paquet;
QDataStream out(&paquet, QIODevice::WriteOnly);
out << "hello";
socket->write(paquet); |
Le paquet est bien envoyé, mais il n'est pas seul... En effet, un premier caractère l'accompagne, qui se trouve être la taille du paquet !
Par exemple, quand j'envoie "hello", le paquet est préfixé de chr(06), et si j'envoie "hellop", il l'est par chr(07).
En gros, ça donne ça :
Citation:
0000 06 68 65 6c 6c 6f .hello
0000 07 68 65 6c 6c 6f 70 .hellop
Je comprends pas du tout pourquoi, j'suis relativement nouveau à Qt, surtout la partie réseau. Si vous avez une idée, je suis preneur !
Mika.