IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Discussion :

[Sockets] transfert de fichier client/serveur


Sujet :

Développement

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut [Sockets] transfert de fichier client/serveur
    Bonsoir,

    J'ai besoin de votre aide !
    Je viens de créer un client et un serveur qui communiquent à travers un réseau via les sockets en C sous Linux. L'échange de données se passe correctement et le dialogue que j'ai mis en place fonctionne plutôt pas mal. Mon problème est le suivant : mon serveur stocke des fichiers plutôt lourds (en taille) et un client doit pouvoir rappatrier l'un de ces fichiers chez lui. De plus, un client doit pouvoir envoyer un fichier dans l'arborescence du serveur. Comment faire tout ça le plus efficacement possible (pour minimiser la durée des tranferts de fichier) en me servant des sockets déjà mis en place ?

    Vos avis sont les bienvenus.

    Cordialement,

    Alex

  2. #2
    Membre averti
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Points : 330
    Points
    330
    Par défaut
    Je ne comprends pas trop ton problème, que veux-tu optimiser :

    Ne suffit-il pas d'envoyer quelques informations sur le fichier, puis son contenu ?
    A moins que tu ne te poses des questions sur la bufferisation ? Je pense que le mieux est de séparer la lecture/écriture sur le système de fichiers de celle sur le réseau par un pipe.

    fichier -> pipe -> serveur -> socket -> client -> pipe -> fichier

    Mais je ne suis pas du tout un expert de ce domaine.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    oui ma question concerne plutôt la bufférisation en effet.
    En fait, j'aimerais trouver un moyen d'envoyer le fichier en une fois sans le lire ligne par ligne par exemple... Comment faire au plus simple en fait !

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    J'ai entendu dire qu'il était possible de réutiliser le protocol ftp pour éviter de tout recoder à la main... Mais comment faire avec ma configuration actuelle (un client et un serveur avec les sockets) ?
    Merci d'avance car je ne sais pas comment m'y prendre.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    Quelqu'un peut me filer un coup de main ?
    Je viens d'y passer pas mal de temps ce week-end mais j'avoue que ça n'est pas encore bien clair dans ma tête...
    Merci

  6. #6
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Si tu utilise une plateforme linux et que le code ne doit fonctionner que sur linux, tu peux utiliser la primitive sendfile dans la joie et la bonne humeur ( attention fonction hautement non portable ).

    Si tu veux utiliser ftp pour faire ton transfert de fichier , il faut a mon avis revoir ton architecture : le protocole ftp est clairement definie, et ce n'est pas la peine d'avoir une implémentation delirant de plus. Pourquoi ne pas utiliser des solutions ftp deja existantes si ton application consiste simplement à transferer des fichers entre un point A et un point B ? Quels sont tes besoins spécifiques ?

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    En tant que client, je veux pouvoir modifier les fichiers sur le serveur avant de les télécharger éventuellement (mais ça n'est pas une obligation.) Sinon le dépôt de fichiers du client vers le serveur s'apparente au protocol ftp normal...

Discussions similaires

  1. transfert de fichier client serveur
    Par johnlobs dans le forum Services Windows
    Réponses: 1
    Dernier message: 24/09/2013, 17h53
  2. Transfert de fichiers Client-Serveur
    Par Chipss dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 16/05/2011, 09h37
  3. transfert de fichier client-serveur
    Par sfpirate dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 28/11/2009, 14h32
  4. [Indy] Transfert de fichiers du serveur vers le client
    Par Nicodemus dans le forum Web & réseau
    Réponses: 4
    Dernier message: 28/10/2005, 17h00
  5. Réponses: 6
    Dernier message: 04/05/2005, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo