Se connecter avec
S'enregistrer | Connectez-vous

upload client --> serveur en java (ma méthode est bonne?)

Dernière réponse : dans Programmation

bonjour, je realise une applet java (qui s'integre a une page web) qui permet a un client d'envoyer des MP3 sur un serveur.

avec mon pote on a chercher 4 jours des sources et on a trouvé une méthode :

cette méthode creer une socket sur host (exemple ftpperso.free.fr)
et ensuite va executer des commandes sur le serveur de type UNIX

exemple de connexion (login : )
connectionSocket = new Socket(host, port);
outputStream = new PrintStream(connectionSocket.getOutputStream());
inputStream = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
login :
outputStream.println("user " + username);
return reply = inputStream.readLine();

upload :
RandomAccessFile infile = new RandomAccessFile(fileName, "r" );
FileInputStream fileStream = new FileInputStream(infile.getFD());

outputStream.println("stor fichier.txt c:\fichier.txt" );
if (inputStream.readLine() est une bonne reponse)
{
OutputStream out = pasvSocket.getOutputStream();
byte b[] = new byte[BLOCK_SIZE];
int amount;
while ((amount = in.read(b)) > 0)
{
out.write(b, 0, amount);
}
}


il y a des erreurs mais c est juste pour que vous voyez la "gueule du code" et me dire
si c'est une bonne méthode sachant que beaucoups d'utilisateurs vont se connecter en meme temps.
bonne journée

Voici les classes réelles utilisées :
http://www.developpez.net/forums/showthread.php?t=12820...
Lassé par la pub ? Créez un compte

ben je sais pas si c'est correct de dire "un serveur FTP" car j'y accède pour visité en http://monnom.truc mais avec filezilla pour gérer les fichiers je rentre l'adresse ftppperso.free.fr (par exemple)

et moi sur mon applet, quand je code outputStream.println("user " + username); je pense que c'est du ftp.
D'ailleurs ce code que j'ai repris proviens d'une classe qui s'appelle ftpconnection.java

mais je sais qu'il existe d'autre méthode pour uploader sans avoir a passer par ces commandes unix (voir plus haut).
je me demande si le fait d'utilise le FTP ne serait pas désavantageux pour un grand nombre d'utilisateur.

Pour des raisons évidentes de sécurité, ton applet java ne peut accéder que des url du site d'où provient la page. En clair, si ta page vient de http://www.monsupersiteweb.com/page1.htm, ton applet java ne pourra accéder qu'aux urls http://www.monsupersiteweb.com/*

Sinon, tu peux mettre les classes clientes ftp (ça se trouve sur le web, je pense) dans le jar de ton applet pour accéder à ton site.

Personnellement, je ferais plutôt un web service pour que mon applet puisse y accéder sur la même uri.
En plus, tu continueras à utiliser le port 80 et non les ports 21/22.

C'est que j'ai quand meme bien avancé mon application...alors je voudrait savoir si c est genant de passé par le FTP pour des fichiers (MP3) sachant que l'application sera utilisé je pense par beaucoups d'utilisateurs.

les fichiers pourrait en plus atteindre 20 Mo

merci de vos reponses
Lassé par la pub ? Créez un compte
Tom's guide dans le monde