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...
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...
Autres pages sur : upload client serveur java methode bonne
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.
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.
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.
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumBittorrent client serveur en java
- ForumCreer une application client serveur en java
- ForumClient serveur en java
- ForumClient serveur java
- ForumChat client serveur java
- ForumApplication client serveur java
- ForumSocket client serveur java
- ForumApplication client serveur en java
- ForumApplication tchat client serveur java
- ForumProbleme envoi fichiers client serveur java
- Voir plus