[Socket C] Transfert de fichier Client/Server
remix55
Messages postés
12
Statut
Membre
-
amam -
amam -
Bonjour,
J'ai mis en place un client et un serveur http en C via les Socket.
Tout marche bien, lorsque le client se connecte sur le serveur il arrive bien à lire le contenu du html placé sur le serveur via la méthode GET.
Je voudrais que le client puisse télécharger un fichier ( pas de texte, plutôt un .exe ou autre) placé sur le serveur dans le but de l'enregistrer.
Il me semble que c'est grâce à la méthode PUT mais je n'en suis pas sur.
Mon problème est que je ne sais pas comment implémenter cette méthode.
Merci.
J'ai mis en place un client et un serveur http en C via les Socket.
Tout marche bien, lorsque le client se connecte sur le serveur il arrive bien à lire le contenu du html placé sur le serveur via la méthode GET.
Je voudrais que le client puisse télécharger un fichier ( pas de texte, plutôt un .exe ou autre) placé sur le serveur dans le but de l'enregistrer.
Il me semble que c'est grâce à la méthode PUT mais je n'en suis pas sur.
Mon problème est que je ne sais pas comment implémenter cette méthode.
Merci.
A voir également:
- [Socket C] Transfert de fichier Client/Server
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
4 réponses
PUT veux dire que tu met un fichier du client sur le serveur.
Que tu télécharge une page ou un fichier, si c'est dans le sens serveur vers client, c'est GET.
Que tu télécharge une page ou un fichier, si c'est dans le sens serveur vers client, c'est GET.
Comme je ne connais pas la méthode GET classique, je ne peux pas te dire, mais il n'y a pas de raison que ça soit différent. Sinon, voi du coté du protocole FTP.
Bonjour, un fichier exe est traité de la même façon qu'un fichier html. La différence, c'est l'extension et le contenu. Le navigateur fera la demande du fichier exe au même titre qu'un fichier html, c'est le serveur qui fera la différence en changeant le contenu de la balise 'content-type' lors de sa réponse. 'text/html' sera remplacé par qqch du genre 'application/exe'. Le navigateur comprendra alors qu'il s'apprête à recevoir un programme.
Voici un exemple d'une réponse du serveur; pour plus de détails, veuillez consulter la RFC du protocole http
<< HTTP/1.1 200 OK
<< Date: Mon, 12 Mar 2001 19:12:16 GMT
<< Server: Apache/1.3.12 (Unix) Debian/GNU mod_perl/1.24
<< Last-Modified: Fri, 22 Sep 2000 14:16:18
<< Accept-Ranges: bytes
<< Content-Length: 3369
<< Connection: close
<< Content-Type: text/html
<<
<< [File content goes here]
Voici un exemple d'une réponse du serveur; pour plus de détails, veuillez consulter la RFC du protocole http
<< HTTP/1.1 200 OK
<< Date: Mon, 12 Mar 2001 19:12:16 GMT
<< Server: Apache/1.3.12 (Unix) Debian/GNU mod_perl/1.24
<< Last-Modified: Fri, 22 Sep 2000 14:16:18
<< Accept-Ranges: bytes
<< Content-Length: 3369
<< Connection: close
<< Content-Type: text/html
<<
<< [File content goes here]
Mais comment faire se transfert de fichier ( du type exe par exemple)?
Comment le programmé sur le client et sur le serveur dans la méthode GET par exemple pour récupérer un fichier .exe du serveur vers le client?
Merci pour ta reponse.