échanges Client-Serveur, algorithmes, fonctionnalités du programmes, réponses WEB, client http
Scénario des échanges Client-Serveur.
Voici ci-dessous un scénario des échanges client-serveur qui détaille les requêtes et réponses WEB ainsi que le traitement des erreurs.
Voici ci-dessous l'algorithme développé pour le client http.
[...] ARSIR : Etude d'un client-serveur WEB Scénario des échanges Client-Serveur Voici ci-dessous un scénario des échanges client-serveur qui détaille les requêtes et réponses WEB ainsi que le traitement des erreurs : Algorithmes du client et du serveur Voici ci-dessous l'algorithme développé pour le client http : HTTPClient(String ip, int port, String fichier) { this.ip = ip ; this.port = port ; this.fichier = fichier ; } ByteArrayOutputStream affichePage() { Socket socket ; Try { Socket = nouveau socket (ip,port) Ecriture sur le flux de sortie du socket GET »+fichier+ http/ 1.1 Attente d'une écriture sur le flux d'entrée du socket Lecture du flux d'entrée du socket Récupération du code sur le flux d'entrée Si(code retour =200) { Retour = Récupération du corps du message } Sinon { Retour = Récupération message erreur } Fermeture du socket Retourne retour } Catch( exception ) { Ecriture de l'exception } } Voici ci-dessous l'algorithme développé pour le serveur http : class HTTPServeur { méthode principale { Création d'un serveurSocket sur le port 1026 boucle infinie { A chaque demande client, instanciation d'un nouveau socket Création d'un nouveau ThreadServeur Démarrage du thread } } } class ThreadServeur { Déclaration d'un socket pour le thread constructeur ThreadServeur(Socket socketClient){ this.s = socketClient; } méthode run() { try { Lecture de l'inputStream reçu pour récupérer le message Si message entrant non nul { Si le message entrant commence par "GET" { Récupération du chemin du fichier demandé par le client Récupération du fichier sur le serveur Si le fichier n'existe pas { Création de l'entête pour la réponse Lecture du fichier sur le serveur Concaténation du message d'erreur 404 à l'entête de la réponse Envoi de la réponse } Sinon { Création d'un tableau de bytes de la taille du fichier demandé Lecture du fichier avec le tableau de bytes Test si le fichier demandé est une image { instanciation du contentType en "image/jpeg" } sinon { instanciation du contentType en "image/jpeg" } Création de l'entête pour la réponse avec un statut 200 OK Concaténation du contenu du fichier avec l'entête Envoi de la réponse } } sinon { Création de l'entête pour la réponse avec un statut 400 Bad request Concaténation du message d'erreur "Error 400 : Bad request" à l'entête de la réponse Envoi de la réponse } } sinon { Création de l'entête pour la réponse avec un statut 400 Bad request Concaténation du message d'erreur "Error 400 : Bad request" à l'entête de la réponse Envoi de la réponse } } catch (Exception) { Ecriture de l'exception } } } Notice explicative sur les fonctionnalités du programmes Pour lancer l'application, il faut tout d'abord exécuter la méthode main de la classe HTTPServeur pour lancer le serveur http. [...]
[...] Voici ci-dessous la présentation de l'interface au démarrage : Pour récupérer un document html, il faut entrer dans le champ URL l'adresse du fichier que l'on veut récupérer, par exemple :1026/envoi.html puis cliquer sur le bouton Go. [...]
[...] Ensuite, il faut exécuter la classe ClientInterface pour lancer l'interface de l'application qui utilise la classe HTTPClient. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture