Téléchargez uniquement le Compte Rendu

publicité
COHEN Jeremy
Compte Rendu
TP4 - JAVA - Client Serveur de fichier
Introduction
Le Client et le Serveur :…
- sont deux programmes développés séparément mais prévu pour dialoguer et effectuer
un certain nombres d’opérations ensemble.
- fonctionnent parfaitement à distance, sur deux machines différentes reliées en
réseaux local.
- Peuvent échanger des fichiers peu importe leur taille, leur extension, et leur type
(fichiers textes comme fichiers binaires sont transmis)
-Reposent sur un principe de dossier « incoming » : le client comme le serveur doit
posséder un répertoire « incoming » à la racine du fichier exécutable. Les échanges se feront
donc entre les contenus de ces deux dossiers.
-sont livrés avec chacun un dossier « incoming » comportant déjà des fichiers de
différents type pour faciliter vos testes.
Le Serveur
Le serveur a été entièrement développé avec Notepad++, et repose sur le schéma
proposé avec le sujet.
Exécution :
Au préalable il est nécessaire que la variable d’environnement « PATH »
contienne le répertoire ou se trouve les outils binaires java.
Dans le dossier « Serveur », exécutez le fichier « LauncherServeur.bat »,
celui-ci contient l’appel console « java Serveur » pour lancer le programme
par le clique.
Il fonctionne en mode console.
Le serveur : 2 fichiers sources: « Serveur.java » et « Service.java ».
Serveur.java contient le point d’entrer du programme : le « main ».
Son travail est d’attendre la connexion d’un Client, lorsqu’un client se
présente, le serveur lance alors un dialogue dans un nouveau thread. Ainsi
Le serveur peu traiter logiquement une infinité de clients. La limite est relative
aux ressources disponibles de l’ordinateur.
Service.java contient toutes les méthodes nécessaire pour répondre aux
demandes du client selon un protocole simple de communication, inventé
spécialement pour le TP.
Une fois le serveur lancer, il est seulement possible d’observer son activité sur son
écran de sortie : la console.
1/3
COHEN Jeremy
Compte Rendu
TP4 - JAVA - Client Serveur de fichier
Le Client
Le client a été entièrement développé avec NetBeans 5.5.
Exécution :
Le développement avec NetBeans 5.5 a permis de générer facilement un fichier
typiquement exécutable java. (extension .jar).
Pour exécuter la version Client :
./Client IHM/Executable/JavaApplication1.jar
Le Client possède une interface graphique composé d’éléments de type « swing ».
L’IHM du Client a été mise au point de telle manière qu’aucune action paradoxale ne
puisse être effectuée. Exemple : il n’est pas possible de modifier l’adresse ip du serveur après
la connexion avec celui-ci, ou encore : il n’est pas possible de se déconnecter en plein
transfert de fichier.
A la première connexion, le Client demande immédiatement la liste des fichiers disponibles
chez le serveur, liste ses propres fichiers et établie deux menus de type « popup » qui
s’affichent uniquement lorsque l’utilisateur clique sur les boutons appropriés.
Si l’utilisateur va supprimer manuellement un fichier après connexion, un bouton
« rafraîchir » permettra toujours de mettre à jour l’état du contenu des dossiers « incoming ».
A la suite d’un transfert, les menu sont automatiquement mis a jour.
Le transfert d’un fichier est accompagné d’une barre de progression, ainsi que du détaille
exacte de l’état du transfert : octet(s) transféré / taille du fichier.
Le Client possède une zone de texte de sortie, ou ira s’imprimer son compte rendu des
activités.
Le Client permet de :
-de Configurer l’adresse ip/hostname et numéro de port correspondant au Serveur.
-d’afficher la liste des fichiers disponible sur le serveur, ainsi que ses propres fichiers.
-de rafraîchir cette liste manuellement si un programme tiers effectue des
modifications au contenu du répertoire « incoming » côté serveur :
exemple : Le repertoire « incoming » du serveur est partagé entre cette
application serveur Java et un logiciel de peer to peer sur internet ! (emule)
Utilité : tous les utilisateurs du réseau local équipé d’une version cliente
pourront bénéficier simultanément du contenu p2p, et actualiser la liste sans
se déconnecter.
2/3
COHEN Jeremy
Compte Rendu
TP4 - JAVA - Client Serveur de fichier
-de copier des fichiers du répertoire « incoming » serveur à destination du répertoire
« incoming » client, et inversement.
Le transfert d’un fichier se lance dans un nouveau thread.
Dans le cas d’un transfert de fichier qui possède déjà un homonyme dans le
répertoire de destination, le fichier sera renommé par son nom précédé d’un
« underscore ».
Une fonction récursive permet la vérification et le « renomage » des
fichiers de manière à ce qu’aucun fichier existant de même nom ne soit
écrasé lors d’un transfert.
-de supprimer un fichier ou dossier côté serveur.
-de créer un dossier côté serveur (à savoir que cette option a été inséré dans le projet
pour répondre au maximum aux options demandées dans le sujet, malgré qu’il ne soit
pas possible d’y placer des fichiers par notre application java. Cette fonction est donc
plus théorique que pratique, mais fonctionne parfaitement.
-et enfin nettoyer la zone de texte qui sert a afficher le compte rendu des activités
effectuées avec celui-ci.
3/3
Téléchargement