TRANSFERT DE FICHIERS VIA WINSOCK

filippos Messages postés 50 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 17 octobre 2002 - 29 juin 2002 à 12:56
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013 - 11 sept. 2012 à 22:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3814-transfert-de-fichiers-via-winsock

rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
11 sept. 2012 à 22:44
en faite c'est vrai il y a quelque bug, mais c'est plutôt propre

Je viens juste de terminé une fonction à mon logiciel (transfert des fichiers entre Compiègne et Orléans) avec winsock vb6 bien sure, et j’ai une vitesse d’environ 50k, mais tout le monde à normalement cette vitesse, d’ailleurs je ne vois vraiment pas comment faire autrement, les meilleurs monte à 100/120k, mais l’upload de Mr tout le monde c’est 50k !
d’ailleurs installer teamviewer (gros logiciel commerciale, et transférez un fichier «.rar » asse gros(car déjà compressé) et vous devriez transférer à la même vitesse. En tout cas moi je transfert 200k compressé en 4 secondes donc 50k avec Winsock ou teamviewer ! ! !
donc si teamviewer ne peut pas faire mieux ??? Je pense que mon logiciel est au maximum !

PS : au faite pour envoyer des données rapidement j’ai essayé une multitude de combinaison et procédure de dizaine de page codé pour finir simplement quelque ligne dans mon moteur principale Winsock l’on peut envoyer maxi 64k et le receveur maxi 64k, et vous pouvez donc utiliser le tempon maxi car celui qui envoie va moins vite que celui qui récupère
hi,hi,hi !
Après moi je me heurtais à un problème la peur de la perte de données, mais depuis deux jours cela marche très bien, dans le doute j’ai laissé à 30k, et pis les integer compte jusqu’à 32000 ! En faite comme beaucoup j’utiliser doevent, ou un timer à 10ms,…ETC. car lorsque l’on envoyait par exemple 1024 octets+1024 octets on risquait de recevoir 2048 au lieu de 1024, ou alors j’envoyais 8000 et je recevais 4068 !?! Donc pour protéger ce problème certains donner l’exemple de mettre un caractère spécial à la fin du STRING ! Mais en faite la SOLUTION était bien plus simple ! ! ! Un string réellement même à l’intérieur de VB6 c’est quoi : une mémoire à une position fixe, un nom, et une taille, et oui une taille !
La soluce pour envoyé une donnée de 1 à 64000 octets, du text, des images, du son, ou des bloque de fichier c’est de faire data$=vos données
Winsock.SendData string_to_integer(len(data$))+data$ ! ! ! !
(string_to_integer et une function qui transforme un integer en string de deux octets)
Les deux 1er octets, vous êtes obliger de les recevoir, après à vous de regrouper les morceaux avec Getdata de 1000,4000,6000, ou 8000 octets jusqu’à recevoir votre taille définie en amont

Que de temps perdue pour une solution si simple,… je suis comptant d’avoir réussie, mais je suis pas fier de moi, j’ai honte c’était plus facile ! Maintenant je vais pouvoir m’amuser réellement.

PS2 : désolé de ne pouvoir vous donner mon log, il est un peu intransportable, mais pense simple, et tout ira bien, c’est plus simple que les API !
matt_18 Messages postés 13 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2009
11 juin 2009 à 11:23
Salut druggedsephiroth !

J'utilise actuellement ta source pour faire un programme de mise à jour automatique. Le serveur doit envoyer un fichier à tout les postes clients qui lui demande. J'ai utiliser ton code, tout fonctionne sauf une chose primordiale : la taille du fichier final fais deux fois la taille du fichier d'origine ... Je comprend pas pourquoi ... Pourrais-tu m'aider ?

Merci
Matt
difooltball Messages postés 8 Date d'inscription samedi 29 juillet 2006 Statut Membre Dernière intervention 9 août 2006
9 août 2006 à 19:53
Yen a plein a cracker des comme sa sur code-sources mais bon bravo qd meme =)

8/10
nycoss Messages postés 86 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 9 mars 2006
30 avril 2005 à 17:17
tu devrai faire une gestion d'erreur plus rigoureuse
cs_bifag Messages postés 3 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 29 avril 2005
28 avril 2005 à 11:21
Super prog
Mais je voudrais savoir quelle est la commande a insérer dans la fonction Winsock1_ConnectionRequest
pour ne pas autoriser l'accès au serveur pout certaines valeurs d'IP
merci
saf_insat Messages postés 4 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 3 octobre 2005
17 juin 2004 à 11:55
merci de me répondre sur l'adresse azzabi_safouane@yahoo.fr
saf_insat Messages postés 4 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 3 octobre 2005
17 juin 2004 à 11:51
c'est bien, mais j voulait savoir si ça marchait entre des machines distantes à travers le modem ?
merci
cs_dynasty Messages postés 24 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 27 avril 2003
24 nov. 2002 à 12:47
pouahhhh Super ;p

ps:10
Ludolpif Messages postés 138 Date d'inscription samedi 11 mai 2002 Statut Membre Dernière intervention 17 mai 2007
9 nov. 2002 à 08:50
Une question : mis à part le bug de transfert de trop gros fichiers, ta source est fiable ? Prob de connection... Si connection niké, reconnexion ...
Spylover Messages postés 110 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 12 août 2010 1
1 juil. 2002 à 09:28
Oui on retrouve pas mal de chose à ce sujet, cependant tu peux aussi trouver une source qui ne buggue pas ton mon source, sinon utilise pas winsock mais directement sa dll associé, regarde le source de Akhenanton
druggedsephiroth Messages postés 71 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 19 juin 2003
30 juin 2002 à 01:02
Ouais je m'attendais pas à une telle extase... j'avais pas trouvé grand chose sur vbfrance a propos du transfert de fichiers et ce que j'avais trouvé était plutot confus alors jlai fait... Merci pour vos commentaires (:
cs_OphidiaN Messages postés 235 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 9 novembre 2007
30 juin 2002 à 00:45
vous vous excitez pour rien, ya 20 sources comme ça ;)
ceci dit c bien
cs_SHIVA Messages postés 97 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 1 décembre 2003
29 juin 2002 à 16:59
SSSSSSSSSSSuuuuuuuuuuuuppppppeeeeeeeRRRRRRRRR !!!!!!!!!!!
pcman5 Messages postés 132 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 26 janvier 2006
29 juin 2002 à 13:42
ccccccccccccccccoooooooooooooollllllllllllllllll
filippos Messages postés 50 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 17 octobre 2002
29 juin 2002 à 12:56
ca c'est du trés trés bon boulot,vraiment je te fait un grand bravo tout simplement magnifique !!!
@+ tt le monde
Philippe
PS:BRRRRRRRRRRRRRAAAAAAVVVVVVOooooooooooooo !
Rejoignez-nous