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
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
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.
@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.
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
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.
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.
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
@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.
De rien !
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
d'ailleurs, je ne vois pas pourquoi ne pas utiliser le client ftp directement...![]()
Partager