J'aimerais envoyer de gros fichier a travers le reseau en utilisant QTcpSocket et WebSocket.Mon probleme est au niveau de la fonction write qui pour des fichiers ayant une taille assez importante fais plante mon programme.De plus j'aimerais creer une fonction uploadProgress pour afficher l'evolution du telechargement.Mais aucun signal cote server me permet d'avoir cela.Du moins a ma connaissance.
Ca s'appelle des multipart requests sauf erreur de ma part. Qt gère ça (au moins avec QNetworkAccessManager, c'est ce que j'utilise. Pour QTcpSocket, je sais pas).
La serialisation sert a preparer et lire les données. C'est un intermediaire entre tes données et le reseau. Mais ca ne fait pas a proprement partie du reseau (on peut serialiser pour enregistrer sur fichier par exemple)
data <----> serialisation <----> reseau/fichier
Avec Qt, tu peux utiliser QDataStream ou QTextStream pour la sérialisation.
Ca s'appelle des multipart requests sauf erreur de ma part.
On parle d'une requête multipart juste quand un formulaire (souvent côté client) souhaite envoyer autre donnée (souvent binaire pour le fichier) que des chaînes de caractères au serveur.
PatrickBaguidi a écrit:
Merci infiniment pour ta repose.Si je peux avoir une solution sur QTcpSocket,cela me fera plaisir.
Tu doit utiliser la combinaison de la classe QByteArray et QDataStream
Note: Pour enregistrer ton fichier dans un QByteArray tu aura besoin d'un QBuffer (qui le fait simplement)
- Edité par EL-jos 15 avril 2022 à 0:11:55
Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.
Discord NaN. Mon site.
Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .