begin process at 2012 02 12 12:08:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > ENVOI DE FICHIERS DE TOUTES TAILLES AVEC WINSOCK

ENVOI DE FICHIERS DE TOUTES TAILLES AVEC WINSOCK


 Information sur la source

Note :
10 / 10 - par 10 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Initié Date de création :10/10/2003 Vu / téléchargé :5 070 / 987

Auteur : Mayzz

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (32)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Bien, bien, bonjour à tous !

Alors, tout d'abord, je tien à préciser que c'est ma première source déposée sur vbfance.
Je l'ai fait moi-même et bien sûr ma connaissance je l'ai prise ici, à travers vos sources =)
Bon sinon ce prog sert à envoyer des fichiers de toutes tailles et je dis bien de toutes tailles(même les divix) avec winsock.
Le principe est simple, un client, un serveur, une découpe du fichier à envoyer en paquets dont la taille est configurable.
Notez sur tout que j'ai fait cette source dans le but de la déposé ici et non pour m'en servir car une partie du code se trouve dans un programme que je suis en train de mettre au point avec un ami. Donc tout ça pour vous dire car je suis un peu timide... si si ! :)
SOYEZ GENTIL(LES) AVEC MOI...
J'aime les critiques, même les plus nuls du genre "Ca sert à rien ton truck" ou encor "Tu as pris ça sur une autre source", car un critique est une critique et c'est toujours bon à prendre... mais pas d'insultes non plus s'il vous plaît ou de choses qui ridiculise les gens, car c'est ma première source et j'espère avoir l'occasion d'en déposer une autre.
Sur ce je tien par avance à m'excuser au près des personnes qui serait tenté de télécharger ma source, pour les innombrables fautes d'orthographes qu'il peut y avoir dans les commentaires de la source.
Mwala.
++







 Conclusion

Ah oui ! Il y a beaucoup de bidouillages dans cette source alors si vous trouvez le moyen de faire en sorte que j'arrête de me prendre la tête pour des trucks, qui je suis sur sont les plus simples du monde, merci infiniment à vous!!!

Autres choses, j'ai testé ce prog sur mon réseau et avec plusieurs collègues et il marche parfaitement. Je l' ai même testé sur un p1 133mhz avec win 98 ça marche aussi et ça ne plante pas (je me demande par quel miracle).
Sur ce bonne prog à toutes et à tous :o)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) AUTODELETE - UNE APPLICATION QUI S'AUTO SUPPRIME À SA FERMET...
Source avec Zip Source avec une capture Source .NET (Dotnet) INFORMATIONS SUR LES INTERFACES RÉSEAUX
Source avec Zip Source .NET (Dotnet) [TUTO] CRÉATION / CONSOMMATION DE SERVICE WEB ASP.NET
Source avec Zip Source avec une capture Source .NET (Dotnet) [TUTO] GESTION DES DONNÉES VIA SQL CE
Source avec Zip Source avec une capture Source .NET (Dotnet) MM CHECKBOX .NET V.2009

 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

Commentaires et avis

Commentaire de pluplu le 10/10/2003 12:17:06

Eh bien sure ta source n'a rien avoir avec celle de "Zikoasm" !!??

Commentaire de Mayzz le 11/10/2003 03:44:58

Tu peux me donner le lien de cette source s'il te plaît et je te dirais ça pluplu :)

Il est vrai qu'il y a des méthodes dans cette source qui sont tiré d'autres sources de ce site, car je viens ici dans le but d'accroître mes connaissances en Vb et c'est même ici, que j'ai appris à me servir de winsock (grâce au tutorial de celiphane)

Avec les sources de tout le monde, on apprend beaucoup, mais ce qui compte, je crois quant on dépose une source c'est que le résultat final ne soit pas dans une source déjà présente sur le site et comme je le dis plus haut, ce bout de code fait partie d'un prog que je suis en train de faire avec un ami, je l'ai déposé car je n'ai pas trouvé de source sur vbfrance qui permette avec winsock d'envoyer des fichiers plus gros que 30Mo (Je ne dis pas qu'il n'y en a pas, mais je n'en ai pas trouvé) donc je me suis dis que si cette source n'existe pas ici, alors la mienne pourrait servir à quelques-uns uns.
D'ailleurs elle est un peu borderlique je l'avoue, c'est juste pour montrer la méthode d'envoi c'est tout. Le reste (l'interface etc..) Je l'ai fait vite fais histoire de ne pas balancer une source sans zip. Par ailleurs, si vous trouvez d' autres sources pour envoyer des gros fichiers avec winsock (gros fichier = sans limite de taille pour moi ) ce serais sympa de me laisser les liens.

++ Mayzz

Commentaire de pluplu le 11/10/2003 10:09:16

vas voir cette source la ressemblance est étrange non !!

http://www.vbfrance.com/code.aspx?ID=16882

Commentaire de Mayzz le 11/10/2003 23:27:11

Heu... nan pluplu, du tout !

Rien à voir, cette source te permet d'envoyer des fichiers texte avec winsock, la mienne permet d' envoyer n' importe quel type de fichier, sans aucune limite de taille.

De plus les méthodes d'envoi ne sont carément differentes, je ne vois pas du tout en quoi ma source ressemble a celle de zikoasm, mis à par le fait que ce soit un envoi de fichier avec winsock et qu' il y a un client et un serveur...

Par contre si tu trouve une source similaire à la mienne je veu bien...

Commentaire de neocracker le 17/10/2003 21:45:34

Salut , ta source est super. j'aimerais savoir si ca te gene que je l'utilise dans le cadre d'un P2P de faible envergure ( pas un truc du genre kazaa ou e-Donkey)

Commentaire de Mayzz le 18/10/2003 02:51:40

merci neocracker,

Ca fait plaisir d’avoir de bons commentaires, d’autant plus que c'est ma première source ici.

En ce qui concerne son utilisation dans ton prog, no problème,  si j’ai déposé cette source ici, c'est pour que tout le monde puisse en tirer profit.

Je suis assez intrigué par ton idée de prog p2p car comme je l’ai dis plus haut, je fais un prog en ce moment, du même genre et  si ça te dis, ont pourrait prendre contact et échangé nos idées...

Commentaire de BeCaSiNe le 15/11/2003 16:25:56

Est ce possible d'augmenter la tailles des paquets ???? Car 8 K c'est pas beaucoup !!!!!

Commentaire de Mayzz le 15/11/2003 16:55:10

Ben pour répondre a ta question beCaSiNe je te dirais tout simplement que non. Car la taille maximum d' envoi avec winsock est de 8192 octets c'est d'ailleur pour ceci que l' on parle de paquets, d' ou l' obligation de scinder le fichier en plusieurs parties. On peut tout aussi bien envoyé le fichier en une seul fois mais dans ce cas préci winsock le découpera lui même, et puis quant on à un fichier de la taille d' 1Go ou plus il est un peut dur de le mettre en mémoire dans une variable sans risquer de planter le pc.

Commentaire de BeCaSiNe le 15/11/2003 16:56:57

Ok Merci beaucoup C'est dommage car 8 k c'est pas beaucoup !!

Commentaire de Mayzz le 16/11/2003 15:33:06

oui c'est sur mais cela revient au même de toute façon, l' important c'est que l'on puissent evnvoyer des fichier de plus de 8k (Dieu merci !)

Commentaire de zikoasm le 28/11/2003 21:50:46

tu as fais du bon travail mayzz et je m'excuse pour pluplu la prochaine fois je ferais mieux

Commentaire de azerty25 le 16/12/2003 10:15:23

C'est très bien comme source :-) j'adore trop, sa va surement m'etre utile pour un projet si je me décide de le faire un jour ! un chti 10 car j'ai pas trouvé de bugs et que sa fonctionne impecable

Commentaire de Mayzz le 16/12/2003 17:00:08

bien encore merci pour tous ces commentaires positifs =)

Commentaire de thierrydelepine le 30/01/2004 17:46:25

Tres bonne source, fonctionne tres bien, je l'ai testé avec un fichier de 2.1 Go.

petite amelioration : au lieu de copier le .tmp en l'extension reel du fichier puis de supprimer le .tmp pourquoi ne pas juste renommer le fichier cela gagnerai du temps a la fin du telechargement sur les gros fichiers.

grosse amelioration : comme on transfert des blocs, ce serai de compter les blocs deja recu et en cas de plantage ou de perte  de connexion, de reprendre le telechargement ou il en était mais pas depuis le debut. je vais essayer.

en tout cas ce source est tres bien je vais l'ameliorer, pour des besoins perso, par un cryptage des donnees qui transitent car je souhaite passer par internet.le but est dans faire un pseudo per to per perso pour des echanges de photos de famille ou films familliales dans le cercle de la famille ou des amis.
je mettrai aussi l'echange de fichiers dans les deux sens.
reste pour moi a trouver du temps.

en tout cas BRAVO, cela vaut la note deja attribuée 10/10, et merci pour le source.

Commentaire de Mayzz le 02/02/2004 21:42:54

merci thierrydelpine

Pour les améliorations j' y avais pensé mais c'est juste une source et non un prog, je devais justement faire un prog de ce type(p2p) mais bon...

En tout cas si tu fais ce prog ca serais sympas de mettre  la source ici et de me mettre le lien plus bas ;)

t' chao ++ et bonne prog tout le monde !!!

Commentaire de BumpMANN le 13/02/2004 22:16:19

Bravo pour cette source ;) voila une bonne source de vbfrance!
ca mérite pas moins de 10! ca va me servir ;)

Commentaire de e_NeX le 09/04/2004 16:28:08

Salut Mayazz, Tout d'abor, je tiens a te feliciter pour ta premiere source qui est vraiment bien detaille, explique et instructive mais j'ai un petit probeme: j'ai modifie un truc:

tu peux changer la taille des paquets durant l'envoi et quand la taille est trop grosse hebin ca arrete tout simplement d'envoyer le fichier

et meme si on la change pas et que c'est trop gros ca marche plus pk?

ca serait cool que tu remedie ce petit probleme!!!

Commentaire de Mayzz le 26/04/2004 20:43:27

Ben heu... en fait on ne doit pas changé la taille pdt l'envoi du fichier
voila pk (le combo pr la taille devrais être looked ou disabled durant l'envoi)

De plus il ne faut pas envoyé des paquet supperieur a 8192 octets (taille maximum imposé par un socket).

Sinon j'ai remarqué un bug ds ce prog, mais c'est vraiment un bug illogique !

En fait je me suis apperçu que durant l'envoi d' un fichier (600Mo ou +), le client peu avoir fini son envoi avant que le serveur receptionne le fichier (le posaluturcentage d'envois sur le serveur n'est pas le même que celui du client) ce qui ne devrais pas arrivé car le client envoi le paquet suivant que lors ce que le serveur à confirmé la réception du paquet en cour.

si qq1 a pigé le truk...

bonne prog a ts !

Commentaire de CyberFlash le 31/05/2004 15:01:37

Salut Mayazz, t'as source est vraiment super. Elle m'a bien dépannée. J'ai juste un p'tit prob que je n'arrive pas a comprendre.

Lorsque j'envoi un fichier, le fichier de destination ne se renomme pas et reste en *.tmp. Dans le code on peux voir que le prog détecte la fin du fichier lorsque le nombre de bite reçu est égale à la taille du fichier et c'est a ce moment qu'il renomme le fichier. Seulement voilà, chez moi le fichier de destination est toujours plus grand de quelque bite que l'original . Je ne comprend vraiment pas d'où vienne ces bites.

Commentaire de azerty25 le 31/05/2004 15:15:17

On dit des bytes, sinon sa portes à confusion ;)

Commentaire de CyberFlash le 31/05/2004 15:35:07

Je tiens encore à préciser que le problème apparaît sporadiquement

Commentaire de CyberFlash le 31/05/2004 15:58:55

Salut Mayazz, J'ai la solution au problème.
rappelle du problème:
Le fichier de destination n'est pas toujours de la même taille que l'original.

Cause: Le prog envoi un packet en trop

Solution:
La boucle pour l'envoi des packets est ainsi:

For x = 1 To NbrPackets

Si maintenant la variable NbrPackets possède la valeur 18.84, la fonction For va l'arrondire à 19. Donc il va envoyé 19 packet au lieu de 18.84. Il faut donc prendre uniquement la partie entière de la valeur de NbrPacket.
Ce qui donne:

    NbrPackets2 = Fix(NbrPackets)
    For x = 1 To NbrPackets2

Ainsi si la valeur de NbrPacket est de 18.84, la boucle ne verra que 18. Et c'est ce qu'il faut car le prog va ainsi envoyé 18 packet. Il manque encore 0.84 packet qui seront envoyé plus bas dans le prog

Et voilà Maintenant plus de prob. Tous les fichier fonctionnent.
Je suis d'ailleurs étonné que personne n'a remarqué cela

Commentaire de Scalpweb le 05/06/2004 22:31:19

Super, pour une première source ! Rien à dire, 10 ! Moi aussi, je veux travailler sur un truc d'échange de fichiers (mais pas vraiment p2p... Enfin, du même style,mais liéer à la base de donnée d'un site web). Je vais técrire un mail pour en savoir plus sur ton prog à toi.
@+, et bonne prog, scalpweb

Commentaire de Chipsounet le 08/09/2004 14:55:12

ouh là, avec quoi il s'ouvre? Je ne parvien pas à l'ouvrir dans vb6

sinon, comment exploiter ceci ?

http://www.vbfrance.com/zipview.aspx?ID=16972&f=Envoi+de+fichier+avec+winsock%2fClient%2fFrmMain.frm

(oui, question de noob, désolé :) )

Commentaire de zeunz le 16/01/2005 22:50:27

quoi qu'il en soit, merci pr tya source. elle fonctionne tres bien.
salutations

Commentaire de Optitech le 04/04/2005 16:22:59

Salut,

C'est une superbe source que tu as fait ! Qu'une seulle chose à dire : Chapeau ! J'ai modifier le morceau de code qui permet de calculer le nombre de paquet. Je peut pas te fourmir ce que j'ai fait pour l'instant (Oui je suis à mon lycée et j'ai pas mes sources). Pour l'instant j'essays de faire un programme, a partir du tien qui fait serveur et client à la fois, mais pour l'instant je n'y arrive pas.

Commentaire de Mayzz le 18/04/2005 23:17:08

Petite apparition pour dire MERCI, MERCI, MERCI. lol
Ca fait plaisir de voir qu' après tout ce temps la note n'a pas baissé.

Commentaire de Optitech le 16/06/2005 15:41:31

Salut !

Mon application avence ! Comme promit voila le bout de code que j'ai modifé pour le calcul des paquets ! Le voila :

C'est un function

Function CalculNbPaquet(taillefichier, taillepaquet) As Double

Dim reste As Integer 'Déclaration de la varialbe
Dim Nbpaquet As Double ' Déclaration d ela varialbe

reste = taillefichier Mod taillepaquet 'Calcul du reste grâce à Mod (division ecludiaine) qui retorune le reste

Nbpaquet = (taillefichier - reste) / taillepaquet 'On calucle le nombre de paquets

If reste > 0 Then Nbpaquet = Nbpaquet + 1 'Si reste n'était pas nul on rajoute 1 au nombre de paquets

CalculNbPaquet = Nbpaquet 'On retorune le nombre de paquets

End Function

Voila maintment la cod epour appelr cette fonction :

msgbox CalculNbPaquet(TAILLE DU FICHER EN OCTET, TAILLE DES PAQUETS EN OCTET)

Voila j'espère que ce morceau de code va t'aider à amélioré ta source !

Bonne programmtion à tous

@++

Optitech ^^

Commentaire de Mayzz le 20/09/2005 21:58:17

Pour infos je fait un prog sur cette source en ce moment avec un envoie par IP pour une cliente. Je déposerais tout ça ici mais je préviens à l'avance que cette source ne seras pas différente, hors mis l'interface graphique les fonction pour faciliter l'envoie et le morceau de code d'Optitech bien sur ! Merci à toi

@+ et bonne continuation à tt les développeurs !

PS: je monte ma boite de dépannage informatique à domicile et si il ya des gens qui ont déjà bossé ds ce type de boulot je suis ouvert a tt les conseils: mayzz03@hotmail.com

Commentaire de jaafar123456 le 19/11/2005 17:34:12

salut,

Arondis = Left(FileLen(NomFichier) / PacketSize, InStr(FileLen(NomFichier) / PacketSize, ",") - 1)
  If Arondis <> 0 Then
  NbrPackets = Arondis
  Else
  NbrPackets = FileLen(NomFichier) / PacketSize
  End If

c'est bien la partie du code qui précise le Nbr de packets?
j'aimerai t'ajouter 2 truc qui te serviront par la suite:
primo : x = A \ B ' x reçoi le resultat de la division entiere de A sur B.
Secondo : R = A Mod B ' R reçoi le reste de la division de A sur B.

Bonne continuation.
Chaque instant... est une chance pour changer sa vie!

Commentaire de kakenette le 17/02/2008 19:26:44

Je pense que de toute manière la taille du paquet ne va pas changer la vitesse de transfert mais just augmenter en mémoire le transfert.

Commentaire de djgab21 le 13/11/2010 16:13:18 10/10

Salut,
très bonne source, merci, elle va m'être très utile.
10/10

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales