0% ont trouvé ce document utile (0 vote)
47 vues20 pages

Modes de fonctionnement des applications client-serveur

Transféré par

dagoarnaud18
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues20 pages

Modes de fonctionnement des applications client-serveur

Transféré par

dagoarnaud18
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les modes de fonctionnements

et primitives de
programmation des
applications client-serveur

Équipe Pédagogique Informatique


Table des
matières

I - Objectifs 3

II - Application client serveur en mode connecté / mode non connecté 4

1. Mode connecté ....................................................................................................................................... 4

2. Mode non connecté ............................................................................................................................... 5

3. Les points communs aux modes connecté et non connecté .............................................................. 5

4. Exercice .................................................................................................................................................. 5

III - API de développement des applications clients serveurs 6

1. API Socket .............................................................................................................................................. 6

2. Primitives de programmation(API) ..................................................................................................... 7

3. Les sockets en mode connecté et non connecté ............................................................................... 10

4. Exercice ................................................................................................................................................ 13
OBJETIFS :
À la fin de cette leçon, vous serez capable de :
Distinguer une application fonctionnant en mode connecté d'une application en mode non
connecté.
Expliquer le principe et les primitives de programmation socket
Expliquer les principes des sockets en mode connecté et en mode non connecté

3
Application client serveur en mode connecté / mode non connecté

I. Application
client serveur
en mode
connecté / mode
non connecté
Objectifs
Distinguer une application fonctionnant en mode connecté d'une application en
mode non connecté

Une application peut utiliser plusieurs protocoles. le mode connecté ou non


connecté dépend du protocole de transport utilisé par une application tiers. Ces
deux modes font appel aux protocoles de transport TCP et UDP.

1. Mode connecté
1.1. Caractéristiques du mode connecté

Une application client serveur fonctionne en mode connecté lorsqu'elle utilise le


protocole TCP dans sa mise en œuvre. Elle est caractérisée par :
l'ouverture d'une liaison, suivie par des échanges et finie par la
fermeture de la liaison ; le serveur préserve son état entre deux requêtes
;
TCP garantie l'ordre, le contrôle de flux et la
fiabilité ; Elle adaptée aux échanges nécessitant
plusieurs messages.

1.2. Utilisation du mode connecté

L'utilisation du mode connecté se caractérise par :


l'établissement préalable d'une connexion virtuelle : le client initie une demande
de connexion auprès du serveur et si le serveur accepte alors la connexion est
établie ;

4
Application client serveur en mode connecté / mode non connecté
le serveur après initialisation, devient passif ;
Un serveur peut répondre aux demandes de services de plusieurs clients.
La contrainte liée aux applications qui fonctionnent en mode connecté est que le
client doit avoir accès à l'adresse du serveur ; c'est à dire son adresse IP et le numéro
de port.

5
Application client serveur en mode connecté / mode non connecté

2. Mode non connecté


2.1. Caractéristique du mode non connecté

Une application client serveur fonctionne en mode non connecté lorsqu'elle utilise le
protocole UDP dans sa mise en œuvre. Elle est caractérisée par :
les requêtes successives sont indépendantes
il n'y a pas de préservation de l'état entre les requêtes
le client doit indiquer son adresse à chaque requête car il n'existe pas de
liaison permanente UDP ne donne pas de garantie particulière
Elle adaptée aux échanges bref et à la diffusion

2.2. Utilisation du mode non connecté

Dans le cas de l'utilisation d'une application est mode


non connecté : il n'y a pas une connexion
préalablement établie
Il n'y a pas de garantie de fiabilité
le récepteur reçoit les données selon le découpage de l'émetteur
Les contraintes liées aux applications qui fonctionnent en mode connecté sont :
le client doit avoir accès à l'adresse du serveur, c'est à dire son adresse IP et le
numéro de port ;
le serveur doit récupérer l'adresse de chaque client pour lui répondre

3. Les points communs aux modes connecté et non connecté


Les applications qui fonctionnent en mode connecté et en mode non connecté ont
des points communs dans leur fonctionnement. Les points communs sont présentés
comme suit :
Le client a l'initiative de la communication et donc le serveur lui doit être à
l'écoute ;
Le client doit connaître la référence du serveur (adresse IP et numéro de port)
: il peut le trouver dans un annuaire, si le serveur l'y a enregistré au préalable
ou en utilisant les numéros de ports préaffectés par convention ;
Le serveur peut servir plusieurs clients.

4. Exercice
[Solution n°1 p 14]

Exercice
Une application est en mode connectée lorsqu'elle utilise le protocole TCP
vrai

faux

Exercice

5
Application client serveur en mode connecté / mode non connecté
Une application est en mode non connectée lorsqu'elle utilise le protocole UDP
vrai

faux

6
API de développement des applications clients serveurs

II. API de
développement des
applications clients
serveurs

Objectifs
À la fin de cette leçon, vous serez capable de :
Expliquer le principe et les primitives de programmation socket
Expliquer les principes des sockets en mode connecté et en mode non connecté

1. API Socket
1.1. Quelle est l'API utilisée dans le développement des applications ?

L'API (Application Program Interface) la plus utilisée est l'API Sockets. Elle offre au
développeur un ensemble de primitives pour l'accès à la pile de protocoles TCP/IP.

Définition : Socket

La socket est une interface entre le programme d'application et les protocoles de


communication.

7
API de développement des applications clients serveurs

1.2. Principe de programmation

En algorithmique et programmation, la manipulation d'un fichier répond à un


processus. Dans la mise en œuvre des applications clients serveurs, un socket est
utilisé de la même manière comme un fichier :
1. Création/Définition/Ouverture
2. Communication
3. Fermeture/Libération.

1.3. Création/Définition/Ouverture

Elle consiste en la réservation des ressources pour l'interface de communication.


Elle consiste en la création d'un descripteur du socket comme les descripteurs de
fichiers.

1.4. Communication

La communication nécessite un ensemble de primitive qui sont :


Utilisation des primitives read(réception), write(émission) ... (comme dans le cas
d'une manipulation d'un fichier).
Plusieurs variantes de primitive d'émission et de réception.

Fermeture/Libération

La fermeture nécessite l'utilisation de la primitive close (fermeture de la


communication). Elle permet ainsi de libérer la ressource utilisée.

2. Primitives de programmation(API)
Les primitives de programmation sont présentés par les représentations ci-dessous.

7
API de développement des applications clients serveurs
Cette représentation présente les primitives utilisées par le client et le serveur dans
le cadre d'une application client serveur. Le rôle de chaque primitive est expliqué.

8
API de développement des applications clients serveurs

Cette représentation traduit le processus de demande de connexion.

9
API de développement des applications clients serveurs

Cette représentation traduit l'acceptation d'une demande de connexion

1
0
API de développement des applications clients serveurs

Cette représentation traduit l'établissement réussi d'une communication ainsi que la fermeture.

3. Les sockets en mode connecté et non connecté


Les sockets en mode connecté

L'API réseau de Java définit des classes et interfaces de programmation (sockets


TCP : Socket, ServerSocket) permettant une connexion fiable à travers TCP entre
deux processus.
Cette connexion est asymétrique puisque une machine joue le rôle de serveur donc
attend les demande de connexion et les accepte puis une autre machine joue le rôle
de client, elle demande l'établissement de la connexion avec le serveur.
Le principe des sockets en mode connecté est présenté
comme suit. Côté serveur :
Le serveur créé le ServerSocket et
attend les demandes de connexion et crée un socket pour
le dialogue récupère les flux d 'entrée et de sortie
Côté client :
Le client créé le Socket,
récupère les flux d'entrée et de
sortie et dialogue avec le serveur

11
API de développement des applications clients serveurs

Cette représentation présente le déroulement de l'exécution des sockets TCP.

Les sockets en mode non connecté

Les sockets en mode non connecté sont représentés par les sockets UDP :
DatagramSocket, DatagramPacket qui sont des API réseau de Java.
UDP caractérise la couche transport non fiable en mode non connecté :
Il contrôle des erreurs mais pas de reprise sur erreur, pas d 'ACK, séquencement des
paquets non garanti et il est plus simple que TCP et plus efficace pour certaines
applications (envoi de vidéo, audio, mesures, TFTP, NFS, DNS ... )
l 'émetteur (sender) envoie un datagramme (paquets de données) sur un socket que
le récepteur (receiver) écoute.

1
2
API de développement des applications clients serveurs

Cette représentation présente le déroulement et l'exécution des sockets UDP.

13
API de développement des applications clients serveurs

4. Exercice
[Solution n°2 p 14]

Exercice
La socket est une interface de programmation permettant une connexion entre deux processus
vrai

faux

Exercice
La socket en mode connecté présente des caractéristiques au niveau serveur et client. lesquelles ?
Le serveur récupère les flux d 'entrée et de sortie

Le serveur attend les demandes de connexion et crée un socket pour le dialogue

Le serveur créé le ServerSocket et

Le client créé le Socket

Le client récupère les flux d'entrée et de sortie

Le client dialogue avec le serveur

Exercice
La mise en œuvre d'une application client serveur nécessite un ensemble d'étapes
La demande d'une connexion

l'acceptation d'une demande de connexion

l'établissement réussi d'une communication ainsi que la fermeture

1
4
Ressources annexes

14

Vous aimerez peut-être aussi