La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TP N°4 Développement d’ une application

Présentations similaires


Présentation au sujet: "TP N°4 Développement d’ une application"— Transcription de la présentation:

1 TP N°4 Développement d’ une application
Client / Serveur en utilisant les Sockets TCP Dans une archi C/S: Le serveur (vveb, BD, de messagerie, etc) offre un service sur le réseau (accepte des requêtes, les traite et renvoie le résultat au client). Le client utilise le service (envoie une requête et reçoit la réponse). Qui dit TCP dit mode connecté et fiabilité de communication Dans plusieurs applications, la communication qui se produit entre le client et le serveur doit être fiable (faut gérer: les pertes, les doubles, les erreurs, le désordre…) D’où l’utilisation du protocole de transport TCP : Mode connecté Garantie une communication fiable

2 Notion du Port Permet d’identifier un service sur une machine.
Il tient sur 16 bits (valeurs de 0 à 65535). Ports réservés aux services standards : (HTTP : 80, FTP: 21 …)

3 Notion de socket Socket désigne un point de communication identifié par (Adresse IP , Port) Une connexion s'établit entre une socket source et une socket destinataire. API Socket: Interface pour la programmation réseau au niveau de la couche transport.

4 C/S mode connecté

5 Application C/S du TP Le client envoie un message
Le serveur le transforme en majuscule et le renvoie au client L’échange se continue jusqu’à ce que le client envoie Fin

6 Partie I Programme Serveur

7 Etape 1: Créer le projet monServeur

8

9 Etape 2: Créer les sockets côté serveur
import java.net.*; public static void main(String[] args) { try { ServerSocket svr = new ServerSocket(5000); System.out.println ("Serveur Connecté sur le port " + svr.getLocalPort() + "en attente d'une requête"); } catch (IOException ex) ….

10

11 while (true){ // Boucle Infinie
Socket sClient = svr.accept(); System.out.println ("Client connecté sur le port"+sClient.getPort()); // Reste de code à mettre ici }

12

13 Etape 3: Créer les flots d’E/S
DataInputStream Sin= new DataInputStream(sClient.getInputStream()); DataOutputStream Sout= new DataOutputStream(sClient.getOutputStream());

14

15

16 Etape 4: Boucle Lecture / Ecriture
String ch; ch = Sin.readUTF(); // Lecture while ( ! ch.equalsIgnoreCase("Fin") ) { Sout.writeUTF(ch.toUpperCase()); // Ecriture ch= Sin.readUTF(); } sClient.close();

17 Partie II Programme Client

18

19

20 Et si le serveur réside sur
une autre machine ??

21 Exécuter le serveur ensuite le client

22 Créer les flots d’E/S

23 Bouton Envoyer ligne = jTextField1.getText(); Cout.writeUTF(ligne);
String ligne; ligne = jTextField1.getText(); Cout.writeUTF(ligne); jTextField1.setText(""); jTextArea1.append("Client:"+ligne+ "\n"); jTextArea1.append("Serveur:" + Cin.readUTF()+ "\n"); if (ligne. equalsIgnoreCase("fin")) { monClient.close(); // System.exit(0); }else{ jTextArea1.append(Cin.readUTF() + "\n"); }

24 Notre serveur peut prendre en charge plusieurs clients mais à tour de rôle.


Télécharger ppt "TP N°4 Développement d’ une application"

Présentations similaires


Annonces Google