TP Java Netbeans 7.0.1 iris2 Serveur TCP en langage Java Objectifs : - Créer un projet Java Desktop Application Réaliser une communication client/serveur en Java Utiliser les primitives fournies par les librairies Java au niveau Socket Réaliser et dériver une classe abstraite Utiliser les threads en Java But: Produire une application comportant 2 serveurs permettant à 2 clients de communiquer des informations par une FIFO. Travail demandé : 1) Réaliser un projet Java Desktop Application comprenant un bouton(jButton) et une zone de texte (jTextPan). - Produire une méthode clic qui affiche un nouveau message " Coucou \n" dans la zone de texte. - Créer un événement correspondant au clic sur le bouton (Performed). Un clic provoque l'exécution de la méthode clic. 2) Créer et tester les méthodes publiques suivantes: void AfficheAdresseClient(String adresse) Affiche dans un label la chaîne adresse; void AfficheAdresseServeur(String adresse) Affiche dans un label la chaîne adresse; void AfficheRequete(String requete) Affiche en fin de zone de texte requete. 3) Inclure les fichiers joints correspondant aux classes ServeurTcp et ServeurIhm. Un clic sur le bouton provoque l'instanciation de la classe ServeurIhm avec le port 5001. Tester avec un client TCP. 4) Expliquer les relations entre les classes ServeurTcp et ServeurIhm. 5) Ajouter, dans l'Ihm, un curseur (Slider) permettant de varier la valeur de la barre. On réalisera une méthode publique getBarre permettant à la classe ServeurIhm de lire la position de la barre afin de la renvoyer au client dans la méthode traitement. 6) Ajouter la classe Fifo afin que le serveurIhm mémorise les requêtes dans une Fifo. 7) Dériver une classe ServeurCalculateur de la classe ServeurTcp qui lit les commandes dans la FIFO afin de les exécuter. La partie exécution n'est pas traitée dans ce TP. 8) Tester avec 2 clients: le client2 (5002) doit recevoir comme réponse la requête du client1. Critères d'évaluation Niveaux de performance Relations entre les classes Instanciation avec paramètres corrects /2 Codage en java Communication client/serveur TCP /6 Mise au point Le débogueur est utilisé correctement. Les modes : pas à pas, examens des variables sont maîtrisés. Le thread s'exécute /6 Exploitation de la documentation sur les Threads Constitution d'un dossier Documents clairs fonctionnels et pertinents technique Degré d'autonomie Fonction de l'aide apportée /3 /3 50%