TCP/IP : TRANSFERT DE FICHIERS

delfare Messages postés 25 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 13 juillet 2007 - 2 oct. 2005 à 18:31
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011 - 5 juil. 2010 à 18:30
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/34062-tcp-ip-transfert-de-fichiers

SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
5 juil. 2010 à 18:30
RE:
Quelles sont les erreurs veux dire : Copie colle tes erreurs !
Mais si tu n'as jamis programmer en C, lis un bon bouquin.
garologono Messages postés 6 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 4 juillet 2010
4 juil. 2010 à 11:09
ouai bin je c poo trop bin des erreure bizzard moi tout se ke jai fait cest lourir pi compile et run XD alors si il faut faire quelquechose dautre dite le moi :p
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
4 juil. 2010 à 09:47
Salut,

Quelles sont tes erreur, tu as bien ajouté la lib winsock ?
garologono Messages postés 6 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 4 juillet 2010
1 juil. 2010 à 09:43
a l'aide je ne comprend vrement pas comment sa marche ya pas de mode demploi lol jai ouvert avec code block jai compiler pi tout et 11erreur ... haaa je suis perdu :'(
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
16 mai 2008 à 15:48
Ben pour moi tout marche bien...
je dirait juste que c'est un peu débile de faire envoyer le fichier par le client,
mais c'est un exemple comme un autre...

sinon même remarque :
Pour tester la fin d'un fichier il ne faut pas faire comme l'a dir AARDMAN if(buffer[0] != '\0') mais if(buffer[0] != EOF)
Utilisateur anonyme
13 avril 2007 à 18:41
Bein pour pouvoir tranférer n'importe quel fichier par tcp, j'ai creer 2 fonction allez voir ma source: http://www.cppfrance.com/code.aspx?ID=42241

C'est inspirer du protocol HTTP comme dit aardman.
:)
Utilisateur anonyme
29 mars 2006 à 00:17
Pour tester la fin d'un fichier il ne faut pas faire comme l'a dir AARDMAN if(buffer[0] != '\0') mais if(buffer[0] != EOF)
delfare Messages postés 25 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 13 juillet 2007
26 janv. 2006 à 19:43
tu dois ajouter libws2_32.a a ton projet
enhr Messages postés 3 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 4 décembre 2005
4 déc. 2005 à 14:29
essai de configurer ton compilateur dev-cpp n'est peut être pas la solution adéquate
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
26 nov. 2005 à 19:07
Heu...

Le code compile pas chez moi, c'est normal docteur? :

gcc.exe "main.c" -o "main.exe" -g3 -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -g3
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x114): In function `main':
main.c:30: undefined reference to `WSAStartup@8'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x152):main.c:35: undefined reference to `socket@12'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x166):main.c:38: undefined reference to `inet_addr@4'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x184):main.c:40: undefined reference to `htons@4'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x1ae):main.c:41: undefined reference to `connect@12'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x1e8):main.c:46: undefined reference to `send@16'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x237):main.c:51: undefined reference to `send@16'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x284):main.c:58: undefined reference to `closesocket@4'
C:\DOCUME~1\bubba\LOCALS~1\Temp/ccwzbaaa.o(.text+0x28c):main.c:59: undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status
arthiolis Messages postés 4 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 8 octobre 2005
8 oct. 2005 à 16:47
quoi donc?
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
8 oct. 2005 à 10:07
qu'est ce que c'est que cette condition ?
arthiolis Messages postés 4 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 8 octobre 2005
8 oct. 2005 à 09:50
hello il y a juste un truc que je comprends pas c'est cette ligne :

if("%s","\nPort : ");
scanf("%i",&port);

sinon je préfeère encore mille fois cette source à une source ou il faut extraire 300 fichiers et qu'au bout du compte le compilateur nous sort 62 erreurs. ou alors faudrait que les gens précise un peu avec quoi ils les compilent les options si il y en a etc. voila voila bonne journée.
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
2 oct. 2005 à 19:24
ouais !! exactly, regarde mon filesender la thread d'emission et de reception P2P
http://www.cppfrance.com/code.aspx?ID=33958

Si tu piges pas un truc dis moi le
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
2 oct. 2005 à 19:00
Salut,
Un fichier binaire est plein de 0, donc tu ne peux pas faire de truc du genre if(buffer[0] != '\0') pour tester la fin du fichier.
Coté client, tu envoies a chaque fois sizeof(buffer) octets, alors que le buffer n'est pas forcement plein.

Pour faire un prog de ce genre, je pense qu'il vaut mieux s'inspirer du protocol http: on envoie d'abord une entete de taille fixe (ou de taille facile à determiner) qui contient les infos du fichier (date, nom, taille, etc) puis on envoie tout le fichier a la volée.
delfare Messages postés 25 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 13 juillet 2007
2 oct. 2005 à 18:31
voila, il reste un bug pour les fichiers compilés(je n'arrive pas a en trouver la cause, si vous la trouvez, merci de me le signaler

delfare
Rejoignez-nous