Clients TCP, SQL en Java

publicité
TP Pilote automatique
Durée:6h
Objectifs :
En langage Java
iris2
Clients TCP, SQL en Java
- réaliser un client TCP
- effectuer des requêtes SQL
- afficher une table de données sous forme de tableau
- développer une IHM
- gérer un thread
Partie 1: TCP
On désire afficher l'état de la barre à partir de trames XML émises par le serveur TCP pilote sur le port 5001.
Utilisations d' un Applet:
L'applet peut être intégré dans une page HTML dans quel cas on précise dans les options du projet la classe à
lancer et les différents fichiers doivent être insérés dans un fichier d'archive Jar.
L'applet peut être exécuté comme une application autonome dans quel cas on précise quelle est la classe
contenant la fonction main. Les différents fichiers peuvent être toujours insérés dans un fichier d'archive Jar. Ainsi il
suffit de cliquer dessus afin de lancer l'application; l'extension jar ne devant pas être reliée à WinRar mais à la JVM.
Travail demandé :
A partir des fichiers situés dans le projet JavaProjectClient1
1) Projet
- Donner les liaisons entre les classes Applet1, Invite et Ihm.
-Déterminer le rôle de la classe Invite.
-Justifier le rôle du try catch dans la méthode jButton1_actionPerformed de la classe invite.
2)Classe Client
Méthode Envoyer
Rôle: doit envoyer le message reçu en paramètre en utilisant l'objet Emetteur
le message doit être suivi d'un Line Feed
☺ Compléter cette méthode.
Méthode Recevoir
Rôle: doit recevoir la réponse du serveur et la retourner. On utilise l'objet
Recepteur
☺ Compléter cette méthode.
3) Classe IHM
Méthode TraiteEtat
- Etudier le fonctionnement qui permet de parcourir une trame XML
- Compléter cette méthode afin de que le jPanel1 et le jSlider1 représentent
l'angle de barre.
Mode AUTO : Dans ce mode des requêtes sont émises périodiquement
- instancier un objet TacheClient avec une référence sur l'IHM, le port et
l'adresse du serveur
- se placer dans le mode AUTO
- démarrer le thread
4) Classe TacheClient dérive de la classe Thread
Son constructeur initialise une référence sur L'IHM.
De plus il instancie un client Tcp avec le port et l'adresse du serveur reçue en paramètre.
☺Réaliser cette méthode.
L'appel de la méthode start lance l'exécution de la méthode run .
Celle-ci doit :
se connecter
demander la position de la barre en envoyant ETAT?
Recevoir la réponse
si la réponse débute par <Position>
appeler la méthode TraiteEtat de la classe Ihm
se déconnecter
☺ Compléter cette méthode.
5) Classe BarrePanel
Dans la méthode paint, expliquer les paramètres reçus par drawline
Partie 2 : SQL
Les informations issues du serveur doivent être mémorisées dans une table de données.
Travail demandé:
1) Tester et étudier les classes sql et table. Comparer les données avec PhpMyAdmin.
2) Créer une table permettant de mémoriser la position de la barre, la latitude, la longitude et la
consigne.
3) Modifier la classe sql afin de mémoriser les informations issues du serveur Tcp dans la base de
données. Ces informations seront également affichées avec la méthode ihm:Affiche.
4) Adapter la classe table afin de gérer votre table de données.
5) Modifier les classes invite et Sql afin que les paramètres soient privés. Néanmoins on désire
afficher le serveur, la base et l'utilisateur.
6) La classe table doit utiliser les paramètres de invite ou du main
7) Modifier le main(application) afin d'afficher l'invite permettant de sélectionner le serveur.
8) Tester le fichier jar en l'exécutant en application et en l'intégrant dans une page HTML comme
archive d'applet.
9) Modifier la méthode TraiteEtat de la classe Ihm en remplaçant les fonctions « parser » avec les
méthodes de la classe String.
Critères d'évalution:
- avancement du travail
- degré d'autonomie
- rédaction et qualité du compte-rendu
Téléchargement