Java, objets, interfaces et Internet | ||
|
Un service d'application sur l'InternetLe but de ce TP est de programmer les client et serveur d'un service de proverbes sur l'Internet. Le protocole d'application est un protocole simple d'interface interface ProtocoleSimple { String réponse(String requête); }Dans une première version, le protocole du service pourra être implémenté par la classe suivante : class Proverbes implements ProtocoleSimple { private static String[] proverbes = {"aaaa","bbbbb","cccccccc"}; private static int num = 0; public String réponse(String requête) { String r = proverbes[num]; num = (num+1) % proverbes.length; return r; } } Client TCPLe client est invoqué sur la ligne de commande parjava proverbes.ClientTCP serveur Il se connecte à la machine serveur sur le port 2001 et utilise 4 flots : un BufferedReader sur l'entrée standard un PrintWriter en écriture sur la connexion (qui ne servent pas pour le moment), un BufferedReader en lecture sur la connexion et enfin System.out. Serveur TCP (itératif)Le serveur est invoqué sur la ligne de commande parjava proverbes.ServeurTCP & Il crée un ServerSocket en écoute sur le port 2001 et un ProtocoleSimple pour répondre aux demandes de proverbes. Il crée un Socket à chaque demande de connexion faite sur ce port, puis utilise 2 flots : un BufferedReader en lecture sur la connexion un PrintWriter en écriture sur la connexion et un BufferedReader en lecture sur la connexion. Le fonctionnement de ce service est implémenté par la ligne (car la requête est une chaîne vide pour le moment): outLine = protocole.réponse(null); Un protocole plus élaboréModifier le protocole et le client de manière à ajouter un autre type de requête : l'ajout d'un proverbe dans la "base de proverbes" du serveur. Dans ce cas, le client sera invoqué de la façon suivante java proverbes.Client serveur -a En mai fais ce qu'il te plait Client UDPLe client est invoqué sur la ligne de commande parjava proverbes.ClientUDP serveur Le client construit un DatagramSocket, puis un DatagramPacket à partir d'un tableau d'octets (qui provient de la chaîne de caractères de la requête), de sa longueur, de l'adresse destinataire et du port destinataire et envoie ce paquet> Serveur UDP |
Mise à jour :