Bonjour,
Je suis entrain de développer un petit client réseau.
Dans ce client j'ai un slot qui est appelé à chaque pression sur un bouton
J'ai presque recopier mot pour mot l'exemple du sdz j'ai juste changer le nom de mon socket et la provenance du message à envoyer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 QByteArray paquet; QDataStream out(&paquet, QIODevice::WriteOnly); QString messageAEnvoyer = (m_lineedit2->text()); out << (quint16) 0; out << messageAEnvoyer; out.device()->seek(0); out << (quint16) (paquet.size() - sizeof(quint16)); m_socket->write(paquet); // On envoie le paquet m_lineedit2->clear();
J'ai également connecter le slot readyRead de mon socket a une méthode qui m'affiche "data" dans un QtextEdit, pour le moment, je ne veux pas interpréter ce que le serveur m'envoie je m'en sers pour voir si le serveur me répond.
Quand je me connecte a un serveur ftp en local, le serveur m'envoie le message de bienvenue, mais a chaque fois que je lui envoie une trame rien ne me revient, bien sur en temps normal le ftp me renvoie une trame meme si il n'a pas compris la mienne (testé avec telnet).
Edit : Solution trouvé, la trame envoyé était sérialisé donc le serveur ne comprenait pas je pense j'ai résolu mon souci en procédent comme ca :
Désolé de vous avoir dérangé pour si peu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QByteArray paquet = (m_lineedit2->text().toAscii()+"\n"); char* message = paquet.data(); m_socket->write(message,(quint64) (strlen(message)));
Partager