Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRANSFERT DE FICHIERS ENTRE 2 PC DISTANTS


Information sur la source

Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous : fichier, socket, transfert, internet, tcp Niveau : Initié Date de création : 11/05/2008 Date de mise à jour : 12/05/2008 10:08:07 Vu / téléchargé: 12 793 / 1 331

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Bonjour,

Cette source permet, pour commencer en quelques mots, d'échanger des fichiers à travers un réseau ou internet en Tcp.

Elle se compose d'une application serveur très rudimentaire et d'un client plus fignolé graphiquement..

Le fonctionnement est très simple.


************************************
Au préalable le serveur se trouve sur un pc (pc n°1), et le client sur un autre (pc n°2), les deux pc ayant le Framework ;).
(Vous pouvez tester en local si ça vous chante..)

L'utilisateur du pc n°1 lance l'application serveur, choisi un port, et appuie sur le bouton E (écoute).
L'application devient couleur orange si réussite, elle attend un client.

L'utilisateur du pc n°2 lance le client, tape l'adresse IP du pc n°1, rentre le même port, et appuie sur C (connexion).
Si tout se passe bien, le texte devient vert et la couleur de la form de l'application serveur verte aussi.

Vous avez maintenant créé un canal.

L'utilisateur du pc n°1 n'a plus qu'a choisir un fichier.

Le transfert débute.

Si le fichier existe sur le pc n°2, alors une boite de dialogue permet de choisir l'action a effectuer entre reprendre, annuler ou écraser..

A la fin du transfert, l'utilisateur du pc n°1 peut renvoyer un fichier directement..
*************************************

Côté code, plutôt simple à comprendre et minimaliste. La gestion d'erreur n'est pas optimisée mais présente. Bien commenté. Repose sur l'utilisation des sockets en Tcp.


Nb : Bien vérifier que les ports choisis sont ouverts (routeurs, passerelles...)
Nb2 : Vous n'avez pas à retaper la même ip et port à chaque fois, ceux-ci sont sauvés à chaque modification..
Nb3 : Vous pouvez envoyer plusieurs fichiers en même temps, en relançant à chaque fois le client et le serveur avec des ports différents.
Nb4 : Vitesse limité selon votre connexion en émission et en réception. Ex je suis limité à 128ko/sec en upload, donc mon client recevra à cette vitesse. Je ne peut recevoir qu'à 1Mo/s, si le serveur peut envoyer plus (3Mo/sec par ex) je recevrai quand même à ma vitesse limite de download, soit 1Mo/sec.

Nb5 : Je n'ai pas utilisé les fonctions BeginSend et BeginReceive pour la simple raison qu'on n'a aucun contrôle de ce qui se passe derrière. Conseil, créez votre propre fonction asynchrone. C'est ce que j'ai fait suite à une erreur de Buffer saturé de la fonction, c'est un gouffre à octets, peu recommandé pour le transfert de fichiers. L'erreur provenait du fait que je lisais plus vite le fichier que je ne l'envoyais, donc on stocke, on stocke et ... error.. Il a donc fallu trouver une alternative (voir le code).

Optimisations à apporter, si ça vous fait plaisir..
-La gestion d'erreurs améliorée
-Compression à l'envoi (augmentation du débit, augmentation de la charge de travail par le processeur)
-Envois simultanés sur la même application
-Possibilité de choisir le fichier à partir du client

 

Source

  • Voir Zip, 2 projets, un serveur, un client
Voir Zip, 2 projets, un serveur, un client

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

11 mai 2008 23:00:29 :
Description.
11 mai 2008 23:13:30 :
Ajout de Nb5
11 mai 2008 23:17:38 :
Une faute d'orthographe trouvé ^^
12 mai 2008 09:47:53 :
...
12 mai 2008 09:54:59 :
Une autre faute d'orthographe
12 mai 2008 10:08:07 :
**Si le nom du fichier est trop long à afficher le tronquer (seulement pout l'affichage).. **Moyenne du temps effectuée sur 5s au lieu de 4s

Commentaires et avis

signaler à un administrateur
Commentaire de Valentino le 26/05/2008 12:19:47 5/10

Bonjour Yves,
Sympa mais peu d'interet pour une exploitation hors LAN... un utilisateur lambda ne s'aura pas faire du NAT sur son routeur (coté serveur).
Se genre d'outil est plus exploitable sous forme de page web upload/download.

signaler à un administrateur
Commentaire de yvesyves le 27/05/2008 20:42:52

Wé tu n'as pas tort, moi je sais faire ça que en Vb^^

signaler à un administrateur
Commentaire de Valentino le 28/05/2008 09:28:53

Sinon l'autre solution c'est que tu diffuse uniquemement le prog client et tu installe le programme serveur chez toi avec une gestion des ports un peu plus poussé (remote)... et voila un beau p'tit trojen ^_^

Bonne continuation Yves ;o)

signaler à un administrateur
Commentaire de yvesyves le 28/05/2008 13:59:26

Merci

signaler à un administrateur
Commentaire de clowzer le 09/04/2009 13:39:56

salut a tou cet application je lé testé sou reseau elle marche magnifique mais elle marche sou internet ???????

signaler à un administrateur
Commentaire de Valentino le 09/04/2009 14:02:41

Salut,
Elle fonctionne que si tu fais du NAT (connu aussi sous le nom de serveur virtuel ou redirection de port) sur ton routeur coté serveur. Sache qu'aujourd'hui toutes les 'box' ont cette possibilité.

signaler à un administrateur
Commentaire de tancou le 29/05/2009 14:57:11

Bonjour à tous
J'adore ce programme, il marche super bien
Le seul petit problème c'est que je ne sais pas comment enregistrer le fichier reçus et sa me pose problème
Je ne suis pas très avancer en vb et si quelqu'un pouvais me dire comment l'enregistrer ou où le fichier est enregistrer ce serais sympa
Merci d'avance.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Transfert de fichier par URL dans Internet Explorer en VBS [ par simbapiglet ] Bonjour!!Je dispose d'une URL me permettant d'accèder au téléchargement d'un fichier de façon manuelle.Mon objectif serait de pass Socket TCP [ par Leo_Robotic_Passion ] Bonjour a tousCe source socket TCP tiré des codes de vbfrance (merci aux auteurs au passage) regroupe un client et un serveur ! J'ai essayé de s Transfert de donnée sécurisée à travers internet [ par bolandfranck ] Bonjour à tous,Je souhaiterais developper en vb un soft qui me permetrait de partager des fichiers entre deux ou plusieurs postes via internet de mani VB.Net Fichier Framework sans Internet ? [ par MagDix ] Salut... J'aimerais utiliser Innosetup pour créer un fichier d'instalation.J'aimerais inclure le Framework dans l'instalation car mon prog. sera ins Socket [ par yvesyves ] Bonjour,J'ai créé un serveur et un client. Le serveur un TcpClient envoie un fichier au client par bloc de 102400 octets.Voilà comment je fais pour fa Test socket ip internet [ par yvesyves ] Bonjour,Sur tous les projets que j'ai fais utilisant des sockets, j'ai toujours pu tester en local.Si je veux tester mon application de l'exterieur pa Transfert de fichier [ par vitry94350 ] Bonjour,     Je suis en train de réaliser un agent (vb.net 2008) qui doit permettre le déploiement de logiciel sur des PC distant, j'ai donc rélisé un


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.