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

C Discussion :

stocker un fichier dans un ordinateur distant


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut stocker un fichier dans un ordinateur distant
    j'ai établi une communication TCP/IP entre un serveur et un client.
    coment faire pour pouvoir stocker des fichiers depuis le client dans le serveur et vice versa?
    merci

  2. #2
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    Je comprend pas trés bien le sens de ta question car tu est dans un topic de langage C.
    le TCP/IP c'est du réseau je pense, il devrait y avoir un forum adapté ?!
    pour stocker des fichier, tu peut utiliser un client ftp comme File-Zilla ou autre facon de faire.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Par défaut
    @mouss4rs : Je pense qu'il a dû ouvrir un socket TCP/IP et qu'il veut faire passer un fichier dedans.

    @toutatattou : Si j'ai bien compris ta question, il faut :
    * côté serveur :
    * * ouvrir un descripteur de fichier sur le futur fichier (man 2 open)
    * * faire des read de ton socket pour récupérer les morceaux de ton fichier
    * * faire des write de tes morceaux de fichier récupérés, dans le descripteur de fichier ouvert.
    * côté client, c'est l'inverse :
    * * se connecter à ton serveur
    * * ouvrir le fichier à envoyer fichier et récupérer son descripteur de fichier.
    * * faire des read dans ton descripteur de fichier
    * * faire des write sur la socket pour envoyer le fichier morceau par morceau

    Après, tout dépend des applications, que tu es en train de réaliser, tu voudras certainement établir un protocole de communication précis entre ton client et ton serveur.

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    bonjour huit six,
    oui c'est ce que je veux faire mais je sais pas commander proceder.
    je developpe sous Labwindows/cvi.
    y-a-t-il des bibliotheque qui peuvent faire cela?
    merci

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Par défaut
    Bonjour, je connais pas labwindows, c'est un edi ?
    Concernant la programmation des sockets, le mieux est encore d'aller voir ça par exemple. Mais les sockets c'est très bas niveau. Après tout dépend de tes besoins et de la machine pour laquelle tu code. Suivant le cas, oui il existe des bibliothèques qui permettent l'accès au réseau plus facilement.

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Citation Envoyé par toutatattou Voir le message
    j'ai établi une communication TCP/IP entre un serveur et un client.
    coment faire pour pouvoir stocker des fichiers depuis le client dans le serveur et vice versa?
    merci
    Transférer un fichier d'un ordinateur à l'autre est une opération qui semble élémentaire parce que tout le travail est masqué par l'interface du système d'exploitation que tu utilises, mais c'est en fait l'aboutissement d'une chaîne de traitements sophistiqués.

    Avec quoi as-tu ouvert ta connexion TCP ? Un socket ou quelque chose de plus évolué ? Montre-nous ton code.

    Pour transférer un fichier via TCP, il faut d'abord se connecter sur le bon port, et utiliser le bon protocole de communication, en partant du principe que l'ordinateur-cible sache le faire, et l'accepte.

    Autrement dit, tu seras effectivement obligé (en pratique) d'utiliser les services d'une bibliothèque d'assez haut niveau. Maintenant, sans en savoir plus sur ton projet, cela va être difficile de t'aider plus.

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Labwindows est un simili-RAD en C, développé par National Instruments. Son principal inconvénient étant de ne supporter QUE le C, et non pas le C et le C++ comme la plupart des compilateurs (ce qui limite parfois son interconnexion avec les autres compilateurs).
    Plutôt dédié aux outils de test qu'au code de série, mais facile d'accès même pour des personnes connaissant peu le développement logiciel. Payant, bien sûr.

    Pour l'OP : Regarde du côté de cette librairie. Sinon, tu vas devoir implémenter un client FTP à la main... Ce n'est pas horriblement difficile à faire, mais ça demande quand même de bien maîtriser les communications réseau. Autant que tu passes sur une librairie FTP.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Par défaut
    @Mak LAK : Merci pour les infos sur labwindows ^^
    Sinon, si toutatattou peut gérer le client ET le serveur et qu'il veut implémenter un protocole, je lui aurai plutôt conseillé d'implémenter HTTP/POST qui est plus simple que le FTP, voir de créer son propre protocole qui pourra être encore beaucoup plus simple. En revanche, je suis d'accord, s'il peut utiliser une bibliothèque, faut pas se priver. Par contre, j'aurai plutôt proposé [ame="http://fr.wikipedia.org/wiki/CURL"]libcurl[/ame] qui implémente beaucoup de protocoles de transfert de fichier.

    [Edit] Mon lien wikipedia est modifié automatiquement, je ne voulais pas parler de curl mais de libcurl. La bibliothèque !
    [Edit 2] le lien vers le site de libcurl.

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par huit_six Voir le message
    @Mak LAK : Merci pour les infos sur labwindows ^^
    De rien !

    Citation Envoyé par huit_six Voir le message
    je lui aurai plutôt conseillé d'implémenter HTTP/POST qui est plus simple que le FTP, voir de créer son propre protocole qui pourra être encore beaucoup plus simple.
    Tu n'as hélas pas toujours le choix...

    Typiquement, lors de la communication avec une machine Unix, le serveur FTP est souvent disponible "tel quel", sans grosses modifications. En fonction de la distribution, c'est même parfois "aucune". Je passe sur le cas "le client veut tel protocole", où ce n'est carrément même plus négociable.

    Il y a certes d'autres protocoles de transfert de fichier, mais qui peuvent être plus lourds à gérer : typiquement, HTTP demande à faire tourner Apache, TFTP n'est pas toujours disponible (client comme serveur), etc.
    De plus, pour de l'upload, HTTP n'est pas forcément l'idéal : il est par contre effectivement plus simple à implémenter pour un download.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    d'ailleurs, je ne vois pas pourquoi ne pas utiliser le client ftp directement...

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/09/2017, 17h03
  2. [MySQL-5.5] Procédure d'export fichier txt dans un ordinateur distant
    Par PaulNero dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 14/06/2013, 10h44
  3. [MySQL] stocker un fichier dans une table
    Par mikebranque dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/08/2006, 11h04
  4. [SGBD] Stocker un fichier dans mysql
    Par faplanier dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/05/2006, 11h15
  5. [Débutante]Stocker des fichiers dans une BD
    Par bouba83 dans le forum Access
    Réponses: 5
    Dernier message: 19/05/2006, 08h41

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