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

Développement d’application client/serveur

Présentations similaires


Présentation au sujet: "Développement d’application client/serveur"— Transcription de la présentation:

1 Développement d’application client/serveur
Zouhair ELHADARI Centre de BTS Dakhla 2ème année BTS DSI

2 Chapitre 4 Introduction aux API sockets
2ème année BTS DSI Prof:EL HADARI zouhair

3 Introduction: 2ème année BTS DSI Prof:EL HADARI zouhair

4 Sockets: Une socket est: Un point d'accès aux couches réseau
Liée localement à un port: Adressage de l'application sur le réseau : son Elle permet la communication avec un port distant sur une machine distante : c'est-à-dire avec une application distante 2ème année BTS DSI Prof:EL HADARI zouhair

5 Illustration d’API socket: (2)
2ème année BTS DSI Prof:EL HADARI zouhair

6 Illustration d’API socket: (3)
2ème année BTS DSI Prof:EL HADARI zouhair

7 Différents types de sockets
Stream Sockets (TCP) établir une communication en mode connecté si connexion interrompue : applications informées Exemples de services : ftp, http, smtp, telnet, BGP… Datagram Sockets (UDP) établir une communication en mode non connecté données envoyées sous forme de paquets indépendants de toute connexion. Plus rapide, moins fiable que TCP Exemples de services : snmp, RPC, tftp, dhcp, dns, RIP… 2ème année BTS DSI Prof:EL HADARI zouhair

8 La notion de « port »: Un service rendu par un programme serveur sur une machine est accessible par un port. Un port est identifié sur une machine par un nombre entier (16 bits). 2ème année BTS DSI Prof:EL HADARI zouhair

9 Exemple: 2ème année BTS DSI Prof:EL HADARI zouhair

10 Processus de Sockets: 2ème année BTS DSI Prof:EL HADARI zouhair

11 Gestion du parallélisme sur le serveur:
2ème année BTS DSI Prof:EL HADARI zouhair

12 Sockets en mode connecté:
Principe -flot bidirectionnel d’octets transférés de façon fiable (ni perte, ni duplication) et ordonnée entre deux locuteurs préalablement « connectés » = = > service TCP utilisé -trois phases nécessaires à programmer : établissement de connexion: Un initiateur (l’entité « client » : ouverture active) Un répondant (l’entité « serveur » : ouverture passive) transfert de données: Requêtes, réponses (selon le protocole applicatif) libération de connexion Bi partie 2ème année BTS DSI Prof:EL HADARI zouhair

13 Sockets en mode connecté:
Ouverture passive (côté « répondant ») : (1/2) Conception : Dédier une socket destinée à intercepter des demandes d’établissement de connexion = = > socket générique d’écoute Caractériser cette socket en terme de communication : -au moins un numéro de port (associé au service) -éventuellement une adresse IP (interface cible) Lui permettre de scruter et stocker les demandes de connexions entrantes avant acceptation -paramétrer la taille de la FIFO des requêtes 2ème année BTS DSI Prof:EL HADARI zouhair

14 Sockets en mode connecté:
Ouverture passive (côté « répondant ») : (2/2) Programmation en JAVA : Classe ServerSocket Trois constructeurs possibles: -numéro_port (obligatoire) -Et taille maximale FIFO -Et Adresse IP 2ème année BTS DSI Prof:EL HADARI zouhair

15 Sockets en mode connecté:
Ouverture active (côté « initiateur ») : (1/2) Conception : Créer une socket localement (et éventuellement la caractériser) L’utiliser pour demander l’établissement d’une connexion TCP avec un processus distant « répondant » Spécifier ce dernier grâce aux caractéristiques de communication de sa socket générique d’écoute : -numéro de port -Adresse IP 2ème année BTS DSI Prof:EL HADARI zouhair

16 Sockets en mode connecté:
Ouverture active (côté « initiateur ») : (2/2) Programmation en JAVA Classe Socket Quatre constructeurs possibles IP ou nom_host distant ET numéro_port distant (obligatoires) IP ou nom_host local ET numéro_port local 2ème année BTS DSI Prof:EL HADARI zouhair

17 Sockets en mode connecté:
Acceptation d’ouverture (côté « répondant ») : (1/2) Conception : Le processus doit être bloqué tant qu’aucune demande de connexion ne lui parvient sur la socket générique d’écoute : = = > fonction bloquante L’acceptation consiste à considérer positivement une demande reçue et à créer localement une socket spécifique dédiée à supporter l’échange de données sur cette connexion particulière = = > Cette socket représente l’extrémité « serveur » de la connexion TCP initiée par un « client » distant. 2ème année BTS DSI Prof:EL HADARI zouhair

18 Sockets en mode connecté:
Acceptation d’ouverture (côté « répondant ») : (2/2) Programmation en JAVA Classe ServerSocket Méthode accept 2ème année BTS DSI Prof:EL HADARI zouhair

19 Sockets en mode connecté:
Transfert de données (des deux côtés) : Conception : EMISSION : Revient à Ecrire/Envoyer un message (x octets) sur la connexion RECEPTION : Revient à Lire/Recevoir un message (x octets) sur la connexion Programmation en JAVA Classe Socket Emission : méthode getInputStream Réception : méthode getOuputStream 2ème année BTS DSI Prof:EL HADARI zouhair

20 Sockets en mode connecté:
Libération de connexion (des deux côtés) : Conception : Fermeture totale :revient à fermer l’extrémité d’une connexion : = = > émission et réception deviennent impossibles Fermeture partielle : possible selon les technologies = = > émission ou réception devient impossible Programmation en JAVA: Classe Socket méthode close méthodes shudownInput et shutdownOutput 2ème année BTS DSI Prof:EL HADARI zouhair

21 Sockets en mode non connecté:
Principe: Datagrammes individuels transférés -de façon non fiable, du « mieux »possible -pas de connexion entre émetteur(s) et récepteur = = > service UDP utilisé Une seule phase à programmer :(transfert de données) -envoi et réception possibles (de requêtes et de réponses selon le protocole applicatif) -détermination de l’expéditeur par le récepteur; Il peut ensuite devenir destinataire. Libération de port après usage 2ème année BTS DSI Prof:EL HADARI zouhair

22 Sockets en mode non connecté:
Création et caractérisation d’une socket Conception : Créer une socket localement Le caractériser si réception de données prévue: Numéro de port prédéfini côté « serveur » Programmation en JAVA Classe DatagramSocket Trois constructeurs possibles -sans paramètre : port anonyme local -avec no_port local IP_locale 2ème année BTS DSI Prof:EL HADARI zouhair

23 Sockets en mode non connecté:
Transfert de données (des deux côtés) : Conception : EMISSION : Envoyer X octets vers une socket distante dont on précise les caractéristiques RECEPTION : Recevoir X octets provenant d’une socket distante dont on récupère les caractéristiques pour en déterminer l’origine. Programmation en JAVA: (1/2) Classe SocketDatagram -Emission : méthode send -Réception : méthode receive -Gestion d’association : méthodes connect et disconnect 2ème année BTS DSI Prof:EL HADARI zouhair

24 Programmation en JAVA: (2/2) Classe DatagramPacket -Constructeurs pour l’envoi -Constructeurs pour la réception 2ème année BTS DSI Prof:EL HADARI zouhair

25 Fin du Chapitre 2ème année BTS DSI Prof:EL HADARI zouhair


Télécharger ppt "Développement d’application client/serveur"

Présentations similaires


Annonces Google