Client FTP en Java

cs_kcd Messages postés 3 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 9 février 2004 - 24 janv. 2004 à 16:59
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008 - 5 mars 2005 à 17:33
Bonjour,
je dois coder un clinet FTP en Java, et je voudrais savoir si parmis il y en avais qui s'était déjà penché sur le problème.

Voici un début de code qui envoie les commandes au serveur FTP, et qui reçoit les réponses sur une ligne seulement...Il me manque le trnasfert de fichiers mais je ne sais comment faire..

import java.io.*;
import java.net.*;

/**
* @author gui
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
* client multithread qui ne se déconnecte pas après émission d'une commande
*/
public class ClientMultiThread extends Thread {

// le socket de communication
Socket clt;

// pour lire et ecrire dans le socket
DataInputStream is;
PrintStream os;

// lecture au clavier
BufferedReader console;

// variables du client
String nomserveur, message;

// port FTP : 21
final static int PORT_FTP=21;

/****************
* constructeur *
****************/
public ClientMultiThread() {

// demande l'adresse et le port de connexion au serveur
console = new BufferedReader(new InputStreamReader(System.in));

// lecture au clavier de l'adresse du serveur FTP
//try {
/*System.out.println("Entrez l'hote de destination : ");
nomserveur = console.readLine();*/
nomserveur="192.168.1.4";
/*} catch (IOException e1) {
e1.printStackTrace();
}*/

// initialiser le socket
try {
clt = new Socket(nomserveur, PORT_FTP);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

message="";

}

/* methode run() */
public void run() {

while (true) {
try {

// cree les flux d'E/S
// lecture des réponses du serveur
is = new DataInputStream(clt.getInputStream());

// émission des commandes
os = new PrintStream(clt.getOutputStream());

/*********************************************************
* affichage des réponses du serveur
*********************************************************/
// pour lire un caractere
int c;

// boucle de lecture de la chaîne renvoyée par le serveur
do {
// lecture du caractère
c = is.read();

// on cast le caractère lu et on l'affiche
System.out.print((char) c);

} while(c!='\r');

/*****************************************************
* envoi des commandes au serveur
*****************************************************/

// bash : invite l'utilisateur a taper une commande
System.out.print("ftp> ");

// lecture de la commande saisie
message = console.readLine();

// emission de la commande vers le serveur
os.println(message);

}
catch(IOException e) {
System.out.println(e);

}
}

}

public static void main(String args[]) {

ClientMultiThread c = new ClientMultiThread();

c.start();
}
}

KcD

3 réponses

cs_era Messages postés 77 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 4 mai 2011
7 févr. 2004 à 14:03
regarde sur jakarta.apache.org
dans la partie commons
le package net
dedans y a tout ce qu il faut
cela fonctionne tres bien sauf sur mon serveur ftp

pourquoi je c pas....(a part ke c IIS sous xp pro)

voila
Y a pas que $crosoft dans la vie......
Ebouda ^-[( ° ° )]-^
0
cs_kcd Messages postés 3 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 9 février 2004
9 févr. 2004 à 19:07
Qui a dit que j'étais sur Windows d'abord ;)? bref j'ai rendu mon travail (vraiment pas très correct d'ailleurs) et j'ai laissé tombé cette histoire de client FTP en Java....Peut être le reprendrais-je plus tard qui sais....
KcD
0
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
5 mars 2005 à 17:33
Comment fais-tu pour faire fnctionner common ? Je suis débutant hein ;-)

.:8 Xurei - Gnauti seautov 8:.
0
Rejoignez-nous