-
Base64 et Sockets
Bonjour,
J'essaie de transferer via TServerSocket / TClientSocket des fichiers de tous types (texte, audio, vid�os etc.).
J'arrive bien � envoyer la quantit� de donn�es attendues (les fichiers re�us sont donc exactement de la m�me taille que ceux envoy�s) mais, en revanche, les donn�es sont compl�tement erronn�es ! :roll: Les fichiers sont inutilisables.
Pour contourner ce probl�me j'ai vu qu'il �tait possible de passer par un encodage / d�codage de type Base64. Qu'en pensez vous ? Et existe-t'il un composant capable de r�aliser cette t�che sous BDS 2006 ?
J'ai trouv� quelques codes source pour r�aliser cette op�ration, mais tous encodent � partir d'un fichier et cr�ent un nouveau fichier... et cette solution n'est pas tr�s pratique pour les gros fichiers...
En tout cas merci pour votre aide :)
-
Je ne vois pas de raison d'encoder les fichiers.
Je n'utilise pas les composants en question. Je te sugg�re d'essayer avec les composants Indy ou ICS.
-
Les composants de BDS sont simples � utiliser... il me "semble" que ce serait plus difficile de changer pour d'autres composants; une fois le fichier encod� en Base64, il suffit de le faire passer comme du texte, et une fois le transfert fini, de le d�coder.
Pour les petits fichiers pas de probl�me, mais mon souci ce serait plut�t pour les gros fichiers : c�t� serveur 1 fichier de 500 Mo, une fois encod� est encore plus volumineux et prend de la place sur le disque... l'id�al serait d'encoder � la vol�e juste le bloc de donn�es qui va �tre transf�r�. Enfin je ne sais pas trop :D