Echange de fichiers client-servlet

Echange de fichiers client-servlet - Java - Programmation

Marsh Posté le 22-05-2008 à 14:42:36    

Bonjour,
 
Je veux pouvoir échanger des fichiers entre mon client (qui n'est pas un applet) en Java sur le poste client, et une servlet sur le serveur.
Cela dans les deux sens, et idéalement, sur demande (je veux dire par là, que le serveur devrait pouvoir indiquer au client de quel fichier il a besoin).
 
Comment pourrais-je faire cela ?
 
Merci à vous.


Message édité par juliuscesar le 22-05-2008 à 14:43:48
Reply

Marsh Posté le 22-05-2008 à 14:42:36   

Reply

Marsh Posté le 22-05-2008 à 19:07:59    

D'après mes recherches, je pourrais communiquer en envoyant le fichier classiquement par POST, ou bien en utilisant un socket.
 
Pour POST, je pense que ça ne sera pas possible de communiquer dans les deux sens (le client envoie une requête, le serveur répond).
Un socket semble convenir. Le client et le serveur devraient pouvoir envoyer leurs requêtes librement. Pouvez-vous me confirmer ça ?
Avec un socket, il faut donc que la connexion soit ouverte en permanence, n'est-ce pas ?
 
 
Sinon il y aurait RMI, mais ça me semble complexe pour ce que je veux faire.

Reply

Marsh Posté le 25-05-2008 à 00:11:04    

Pas nécessairement. Pour la socket tu peux fermer la connexion dès lors que t'as fini de télécharger ton fichier. A moins que les échanges soient réptitifs. C clair que RMI c un peu lourd.
Mais même l'idée de lire des fichiers dans une servlet ça le fait pas trop à mon avis. Si c'est juste un fichier texte avec des donnée que tu veux transmettre tu pourrais leslire chez le client les transmettre et les savegarder par la servlet. Avec un POST de préférence.
Si c'est du binaire bah là faut une socket je crois.

Reply

Marsh Posté le 25-05-2008 à 00:32:32    

L'essentiel (question nombre d'échange) c'est du texte, mais il y a aussi du binaire (photos, vidéos, etc).
Les fichiers texte doivent être générés à partir d'une bdd, sur le serveur.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed