Vous êtes sur la page 1sur 76

Programmation Réseaux

Modèle & Architecture


Client/Serveur

Anass KHANNOUS
khannous@ensat.ac.ma
Filière GSTR2 2020/2021
Objectifs de ce cours
 Connaître (se rappeler) le modèle Client/Serveur
(90% des applications de l’Internet)

 Apprendre des notions de conception d’applications


Client/Serveur , (à l’aide des API)

 Réaliser un prototype d’une application


Client/Serveur basée sur l’utilisation de sockets pour
mettre en place des services associés
2
Plan
 Quelques rappels : Internet et le modèle TCP/IP
 Architecture Client/Serveur
 Modes de communications connecté & non connecté
 Les Sockets : Définitions et concepts
 Les Sockets: Programmation Client/serveur en JAVA
• Sockets TCP
• Sockets UDP
• Multithreading
 Travaux Pratiques

3
Internet
 Un réseau de réseaux, un réseau public mondial
 Un ensemble de logiciels et de protocoles
 Basé sur l’architecture TCP/IP
 Fonctionne majoritairement en mode Client/Serveur
 Le Web n’est qu’une des multiples applications d’Internet
 Offre un ensemble de services (e-mail, transfert de fichiers,
connexion à distance, WWW, …)
 Une somme « d’inventions » qui s’accumulent
• mécanismes réseau de base (TCP/IP)
• gestion des noms et des adresses
• des application et des protocoles spécialisés 4
Internet
 Un ensemble de sous-réseaux indépendants et hétérogènes
qui sont interconnectés (organisation hiérarchique)

5
Le Modèle OSI
 Le modèle OSI a été défini par l'Internatinal Standardization
Organisation (ISO).
 Vise à normaliser les communications entre ordinateur
 Présente la circulation des données dans un réseau
 Ce modèle se décompose en 7 couches:
Application, Présentation, Session, Transport, Réseau, Liaison
et Physique.
 Les services de chaque couche peuvent interagir uniquement
avec les services des couches contigües.

6
Le Modèle OSI
7 Application
Messages
6 Présentation
Segments
5 Session
Datagrammes 4 Transport
Paquets 3 Réseau
Liaison de
Trames 2
Données
Bits 1 Physique

Description des couches


Physique -> transmission effective des signaux électriques, radiofréquences ou optiques
Liaison de Données -> Structuration, Correction, Accès au medium...
Réseau -> Routage, Fragmentation. Communication entre systèmes
Transport -> Communication logique entre processus ou applications communicantes
Session -> Connexion, Déconnexion.
Présentation -> Structuration des données typées.
Application -> Communication entre "utilisateurs " 7
Le Modèle OSI vs TCP/IP

8
Le Modèle TCP/IP
 TCP/IP est l'architecture réseau la plus répandue.
 Le modèle est fondé sur OSI où 04 couches sont présentées :
Application, Transport, Réseau et Liaison.
 TCP/IP représente d'une certaine façon l'ensemble des règles
de communication sur Internet et se base sur la notion
d’adressage IP
 Les fonctions essentielles du TCP/IP sont :
• Le fractionnement des messages en paquets.
• L'utilisation d'un système d'adresses .
• L'acheminement des données sur le réseau (routage).
• Le contrôle des erreurs de transmission de données . 9
Le Modèle TCP/IP
 Lorsqu’on écrit un programme qui tourne
sur réseau, on programme à la couche
Application
 Pratiquement, le programmeur
d’applications réseaux n’est pas concerné
par les protocoles de la couche Transport
(TCP et UDP)
 Ce sont les bibliothèque de classes utilisés
qui assurent la communication avec les
couches inférieurs (transport et routage)

10
Le Modèle TCP/IP - Exemple

11
Les Protocoles
 Un protocole est un ensemble de règles qui définissent
comment se produit une communication dans un réseau
• Un protocole joue le rôle d'un pilote (Driver). Un pilote
permet au matériel de communiquer avec le système
 Un pilote c'est le protocole de communication entre le
matériel et le système.
• Pour communiquer, deux personnes doivent parler une
langue commune. En informatique, la langue de
communication s'appelle le protocole
 Un service peut faire l’objet de l’implémentation d'un
protocole.
12
Exemples de Protocoles
 Les protocoles applicatifs sont des protocoles spécialisés dans la
communication de certaines données ou la réalisation
d’opérations spécifiques.
• HTTP : Hypertext Transfert Protocol, protocole de transfert
hypertexte (c’est le protocole du Web)
• FTP : File Transfert Protocol, protocole de transfert de fichiers
• SMTP : Simple Mail Transfert Protocol, protocole de transfert
d’email entre deux boites aux lettres.
• POP : Post Office Protocol, Protocol du « bureau de poste »,
permettant de récupérer les emails stockés dans une boite aux
lettres
13
Exemples de Protocoles
• DNS : Domain Name System, est le service informatique
distribué utilisé pour traduire les noms de domaine Internet
(adresses symboliques) en adresse IP.
• DHCP : Dynamic Host Configuration Protocol, c’est un
protocole réseau de configuration dynamique et automatique
des paramètres IP d’une station
• IPsec : Internet Protocol Security, est un ensemble de
protocoles utilisant des algorithmes permettant le transport de
données sécurisées sur un réseau IP, utilisé dans le cas de
connexions sur des réseaux VPN.

14
Le Protocole TCP
 TCP = Transmission Control Protocol
 Le protocole TCP c’est un protocole responsable de garantir
l’envoie des données entre deux applications (Ex: Récupération
des emails POP)
 Ce mode de communication est appelé : Mode Connecté
 Permet une connexion de type Point à Point fiable et sécurisé
 Il permet de signaler la présence d’erreurs d’envoie.
 L’inconvénient c’est qu’il offre de moins bonnes performances
 En utilisant la notion de port, plusieurs applications sur la
même machine peuvent utiliser TCP en même temps.
15
Le Protocole UDP
 UDP = User Datagram Protocol
 Ce mode de communication est appelé : Mode non connecté
 Le protocole UDP assure une communication non garantie
entre deux applications sur un réseau par envoie des paquets
indépendants (Ex: vidéo streaming)
 L’ordre de livraison n’est pas important et non garantie.
 Chaque paquet est indépendant de l’autre
 Ce protocole offre de bonnes performances en terme de
rapidité
 Il est pratiquement réservé à des tâches peu importants
16
TCP vs UDP

17
Le Protocole IP
 IP = Internet Protocol
 Le protocole IP est le protocole de la couche réseau du TCP/IP
 Responsable du routage et de contrôle dans les réseaux connecté
 Permet également l’échange de datagrammes en mode non
connecté
 Une succession de paquets provenant d’un même bloc de
données ne suivent pas forcément le même chemin
 IP s’utilise conjointement soit avec TCP ou UDP

18
L’adresse IP
 Une adresse IP est le numéro qui identifie chaque ordinateur
connecté à Internet
 C’est l'interface avec le réseau de tout matériel informatique
(routeur, imprimante)
 Il existe des adresses IP de version 4 et de version 6

19
Les ports
 Il existe une connexion physique unique entre deux ordinateurs
communiquant l’un avec l’autre, mais plusieurs applications
(ou protocoles) se partagent la même liaison physique pour la
transmission des données
 Les ports sont utilisés pour distinguer les données propriétaires
à chaque processus ou application
 Chaque machine sous IP possède quelques 65 535 ports,
 de 1 à 1024 sont des ports réservés aux services fondamentaux
 de 1025 jusqu'au 49151 sont des ports enregistrés
 de 49152 jusqu’au 65 535 sont les ports dynamiques ou privés
20
Les ports
 Quelque port sont réservés à des services bien spécifié (Ex :
HTTP (80), FTP (21), SMTP (25), …). Ces ports sont appelles
(Well Known Ports).

Protocole Numéro Port


HTTP 80
FTP 21-20
DHCP 67
DNS 53
POP 110
IMAP 143
SMTP 25
Telnet 23
21
Système de Transmission Numérique
 Les systèmes de transmission numérique véhiculent de
l'information entre une source et un destinataire
 Utilisation d’un support physique comme le câble, la fibre
optique ou encore, la propagation sur un canal radioélectrique.

22
Système de Transmission Numérique

23
Système de Transmission Numérique
 Un signal numérique est donc un signal qui présente un
nombre finis d’état, généralement deux états (on dit qu’il est
binaire : avec un état haut que l’on assimile à 1 (un) et un état
bas que l’on assimile habituellement à 0 (zéro)).

Exemple la séquence
numérique suivante
110001110110

24
Exercice 1

Enumérez quelques étapes du processus consistant


à convertir les communications d’un utilisateur en
données jusqu’à la récupération de ces données de
l’autre extrémité du réseau

25
Réponse

1. L’utilisateur entre les données via une interface matérielle.


2. Les composants logiciel et matériel convertissent les données
dans un format numérique.
3. Les services d’application lancent le transfert des données.
4. Les couches OSI encapsulent les données dans la pile.
5. Les données encapsulées traversent le média pour arriver à
destination.
6. Les couches OSI de destination décapsulent les données de la
pile.
7. Les données sont prêtes à être traitées par le périphérique final.

26
Exercice 2

Indiquez le rôle spécifique des protocoles de couche


application suivant : DNS, HTTP, SMTP/POP.

27
Réponse

1. DNS : Le protocole DNS (Domain Name System) fournit à l’utilisateur


un service automatisé qui associe des adresses symboliques à des
adresses réseau (@ IP).
2. HTTP : Le protocole HTTP est utilisé par le Web pour transférer des
données à partir de serveurs Web vers des clients Web.
3. Le protocole SMTP (Simple Mail Transport Protocol) transfère le
courriel sortant du client de messagerie vers le serveur de messagerie et
transporte le courriel entre les serveurs de messagerie, ce qui permet
l’échange de courriel via Internet.
4. Le protocole POP, ou POP3 (Post Office Protocol, version 3),
achemine le courriel du serveur de messagerie vers le client.
28
Exercice 3
1. Quelles sont les couches du modèle OSI composant la couche application
du modèle TCP/IP ?

a. Liaison de données. b. Réseau. c. Transport. d. Session.


e. Présentation. f. Application.
2. Quel protocole sert à transférer des pages Web d’un serveur à un client ?
a. HTML b. SMTP c. HTTP d. SSH e. Telnet f. POP

3. Quel protocole utilise l’authentification et le chiffrement pour sécuriser


les transmissions de données entre le client et le serveur ?

a. HTTP b. DNS c. HTTPS d. SMTP


4. Dans l’URL suivante « http://www.cisco.com/netacard.html », quel est le
domaine de niveau supérieur ?

a. Cisco.com b. .com c. www.Cisco.com d. www


e. netacard f. http:// 29
Architecture Client/Serveur
 L'informatique d'entreprise a connu une évolution très
rapide au cours des 20 dernières années :
• le modèle client-serveur est devenu le modèle vers
lequel convergent les architectures logicielles.
 Passage d’une architecture centralisée (mainframe) vers
une architecture distribuée
 L'architecture Client/Serveur répond à la demande des
utilisateurs pour des systèmes ouverts
 Cette architecture vise l'intégration de systèmes
hétérogènes (interopérabilité logicielle et matérielle)
30
Client/Serveur :
Evolution : Architectures centralisées - 1970

1ère génération

31
Client/Serveur :
Evolution : Architectures décentralisées - 1980
2ème génération

32
Client/Serveur :
Evolution : Architectures ExtraNet - 2010

32
Client/Serveur : Architecture 2-tier

34
Client/Serveur : Architecture 3-tier

35
Client/Serveur : Architecture N-tier

36
Serveur
Définition

Un serveur informatique, est un ordinateur ou un programme


informatique qui rend service aux ordinateurs et logiciels
qui s'y connectent à travers un réseau informatique
Exemples
• Serveur de données
• Serveur de Fichiers
• Serveur d’application
• Serveur Web
• Serveur de messagerie
37 33
Serveur (Matériel)

34
Serveur (Logiciel)
Définition
Le terme SERVEUR fait référence à tout processus qui reçoit une
demande de service (requête) venant d'un client via un réseau,
traite cette demande et renvoie le résultat (réponse) au
demandeur (le CLIENT).
Exemple

Courrier Courrier
entrant sortant

Serveur POP3 Serveur SMTP


Poste utilisateur
39 35
Client
Définition
On appelle logiciel client un programme qui utilise le service
offert par un serveur. Le client envoie une requête et reçoit la
réponse.
Exemples
• Navigateur web
• Outlook
• Filezilla
• Skype
• Facebook Messanger,
• WhatsApp
40 36
Client/Serveur : Définitions 1/3
 On appelle un modèle client/serveur, tout modèle de
fonctionnement logiciel dans lequel plusieurs programmes
autonomes (Processus) communiquent entre eux par
échanges de messages et encapsulation des services dedans.

 Par extension, l'architecture client/serveur permet à une


application de s'adresser à une autre application,
physiquement à distance, à travers un protocole d'échanges
standardisés, pour lui demander de réaliser une tâche pour
son propre compte.

41
Client/Serveur : Définitions 2/3
 Comment identifier un service ?
• Un site peut offrir plusieurs services. Chacun de ces
services est fourni sur un port de communication
virtuel identifié par un numéro.
Ex. FTP: Port 21, TELNET : Port 23.
 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.

42
Client/Serveur : Définitions 3/3
 Le client et le serveur ne sont pas identiques, ils forment un
système coopératif :
• les parties client et serveur de l'application peuvent
s'exécuter sur des systèmes identiques ou différents
(hétérogènes/Multiplateformes)
• une même machine peut implémenter les côtés client ET
serveur de l'application
• un serveur peut répondre à plusieurs clients
simultanément
• Un client peut, en général, utiliser plusieurs connexions
vers des serveurs différents ou identiques en même temps. 43
Exemple d'application client/serveur
Hébergement d’un site web
Serveurs: Web et FTP

44
Exemple d'application client/serveur
protocole HTTP

 protocole HTTP/HTTPS = (HyperText Transfert Protocol)


• Défini par le W3C (World Wide Web consortium)

 Envoi de documents web d’un serveur web (serveur IIS,


Apache, Google web Server) vers un client web (navigateur)
 Principe :
• Requête du client au serveur : demander une ressource
web (page, image, service) ; (Requêtes GET & POST)
• Réponse serveur au client : envoyer une ressource (page
web, image, réponse).

45
Les applications client/serveur : Exemple

46
Exemple d'application client/serveur
Protocole FTP
Client FTP (4 champs à renseigner: @ Serveur, Port, Login, Mot de passe ).
Port 21 : pour la création de connexion/canal de contrôle.
Port 20 : pour la création d’un canal d’échange de données

47
Communications inter-processus
 Processus :
• une entité communicante
• un programme qui s'exécute sur un hôte d'extrémité
 Communications inter-processus locales :
• communications entre des processus sur un même hôte
• communications régies par le système d'exploitation (tubes
UNIX, mémoire partagée, …)
 Communications inter-processus distantes :
• les processus s'échangent des messages à travers le réseau
selon un protocole de la couche applications
• nécessite une infrastructure de transport sous-jacente
Protocole applicatif Vs Application
 Le protocole applicatif définit :
• le format des messages échangés entre les processus
émetteur et récepteur
• les types de messages : requête, réponse, …
• l'ordre d'envoi des messages
 Ne pas confondre le protocole et l'application !
• Exemple d’Application Web : constitué d ’un
ensemble de documents (format HTML), accessibles
via un navigateur Web (Client), hébergés au niveau
d’un serveur Web à qui on demande ces documents,
en respectant les règles du protocole (HTTP)
Client/Serveur : Les acteurs
Une architecture client-serveur est composée de deux
programmes interagissant : le serveur qui propose des services
et le client qui les consomme.
 Caractéristiques principales du client :
• Consommateurs de services
• Proactif : à l’origine de la commande

 Caractéristiques du serveur :
• Fournisseur de services
• Réactif: Répond à la demande de ses clients
• Traitement de plusieurs clients simultanément
• Contrôle d’accès

50
Client/Serveur : Le fonctionnement
 Le logiciel serveur
• Joue un rôle passif
• Attend des requêtes provenant des logiciels clients.
• Dès qu'il reçoit une requête, il parcourt ses contenus pour
trouver l'élément demandé puis le retourne au logiciel client qui
l'a demandé.
 Le client
• préparer une requête à adresser vers un serveur.
• Lorsque la requête est lancée, un « message » est acheminé vers
le serveur à consulter.
• Attend ensuite la réponse du serveur

51
Client/Serveur : Avantages
 Unicité de l’information : toutes les données sont stockées sur
un même serveur ;
 Meilleure sécurité et intégrité : simplification des contrôles
de sécurité ;
 Mise à jours centralisé aussi bien des données et logiciels ;
 Meilleure fiabilité : En cas de panne, seul le serveur fait
l’objet d’une réparation ;
 Facilité d’évolution : architecture évolutive, il est très facile
de rajouter ou d’enlever des clients ou des serveurs.
 Hétérogénéité : indépendant des plates-formes matérielles et
logiciels
52
Client/Serveur : Inconvénients
 Un coût d’exploitation élevé (bande passante, câbles,
ordinateurs surpuissants) ;
 En cas de panne du serveur, plus aucun client n’a accès
aux Informations ;
 Si trop de clients veulent communiquer avec le serveur, ce
dernier risque de ne pas supporter la charge ;
 ...

53
Le Middleware
 C'est un ensemble de services logiciels construits au dessus
d'un protocole de transport afin de permettre l'échange de
requête/ réponse entre le client et le serveur de manière
transparente.

 Les techniques les plus courantes d'échange d'informations sont:


• l'échange de messages (socket),
• l'appel de procédures à distance (RPC)
• la manipulation d'objets à distance (distribués) (RMI).
54
Le Middleware
 En général, le middleware :
• n'est pas visible par l'utilisateur final
• se retrouve caché dans les applications
• est un outil pour le développeur d'applications
• unifie l'accès à des machines hétérogènes en terme de (CPU, OS,
langage de programmation..)
 Il faut une interface entre l'application réseau et la couche transport :
• Le transport n'est qu'un tuyau (TCP ou UDP dans Internet)
• l'API (Application Programming Interface)
est le moyen d'y accéder
• API : Offert par le langage de programmation

55
Interface de programmation réseau (API)
Les sockets

56
Les modes de communication 1/6
Mode non connecté

 Communication en mode non connecté :

57
Les modes de communication 2/6
Mode non connecté
 Caractéristiques :
• pas d’établissement préalable d’une connexion ;
• Les requêtes successives sont indépendantes ;
• pas de préservation de l’état entre les requêtes ;
• adapté aux applications pour lesquelles les réponses
aux requêtes des clients sont courtes (un message) ;
• mode d'échange par message ;
• protocole de transport utilisé : UDP (Pas de garanties
particulières).

58
Les modes de communication 3/6
Mode non connecté
 Contraintes :
• le client doit avoir accès à l’adresse du serveur: (@ IP et N° port)
• le client doit indiquer son adresse à chaque requête (pas de
liaison permanente), car pour répondre à chaque client, le
serveur doit en récupérer l’adresse.

 Modes de gestion des requêtes :


• itératif : le processus traite les requêtes les unes après les
autres.

59
Les modes de communication 4/6
Mode connecté

 Communication en mode connecté :

60
Les modes de communication 5/6
Mode connecté
 Caractéristiques :
• établissement préalable d’une connexion (circuit virtuel) :
le client demande au serveur s'il accepte la connexion ;
• le serveur préserve l'état du client entre deux requêtes ;
• fiabilité assurée par le protocole (TCP) (ordre, contrôle de
flux);
• un serveur peut répondre aux demandes de service de
plusieurs clients : les requêtes arrivées et non traitées sont
stockées dans une file d’attente ;
• adapté aux échanges ayant une certaine durée (plusieurs
messages).
61
Les modes de communication 6/6
Mode connecté
 Contraintes :
• le client doit avoir accès à l’adresse du serveur (adresse IP,
n° de port).

 Modes de gestion des requêtes :


• itératif : le processus traite les requêtes les unes après les
autres ;
• concurrent : par création de processus fils pour les échanges
de chaque requête (pour altérer l’exécution vu la taille de
messages qui peut être relativement grande.

62
Processus serveur itératif
 Serveur itératif :
• traite séquentiellement les requêtes
• adapté aux requêtes qui peuvent s'exécuter rapidement
• souvent utilisé en mode non connecté

63
Processus serveur concurrent
 Serveur concurrent :
• le serveur accepte les requêtes puis les "délègue" à un
processus fils (traitement de plusieurs clients)
• souvent utilisé en mode connecté

64
Service avec ou sans état(s)
 Service avec états (mode connecté) :
• le serveur conserve localement un état pour chacun des clients
connectés : informations sur le client, les requêtes
précédentes, …

 Service sans état (mode non connecté):


• le serveur ne conserve aucune information sur l'enchaînement
des requêtes...
 Incidence sur les performances et la tolérance aux
pannes dans le cas où un client fait plusieurs requêtes
successives :
• service sans état  pas de tolérance aux pannes
• service avec états (dégradation) performance
65
Questions de compréhension
 Quel sont les composants (citer les 3 principales) d’un
dialogue entre un client et un serveur ?
• Une couche technique de communication
• Un protocole applicatif de communication
• Le Middleware (API)
 Quelles sont les fonctions garanties par le Middleware
• Communication entre plusieurs application
• Simplification des échanges complexes et distribués
• Ouverture des application sur le réseau
• Indépendance de la plateforme
• … 66
Questions de compréhension
 Quels sont les caractéristiques de chacun des deux modes de
communication:
 Mode Non Connecté
• pas d’établissement préalable d’une connexion
• adapté aux applications pour lesquelles les réponses sont courtes
• protocole de transport utilisé : UDP
• mode d’échange par messages
 Mode Connecté
• établissement préalable d’une connexion (circuit virtuel)
• fiabilité assurée par le protocole de transport utilisé : TCP
• mode d’échange par flots d’octets : le récepteur n’a pas connaissance
du découpage des données effectué par l’émetteur
• après initialisation, le serveur est "passif", il est activé lors de
l’arrivée d’une demande de connexion d’un client
67
Les sockets : histoire

 Les sockets ont été mises au point en 1984, lors de la


création des distributions BSD (Berkeley Software
Distribution).
 Apparues pour la première fois dans les systèmes UNIX, les
sockets sont des points de terminaison mises à l'écoute sur
le réseau, afin de faire transiter des données logicielles.
 Elles sont associées à un numéro de port.
 Les sockets servent à établir une transmission de flux de
données (octets) entre deux machines ou applications.
68
Les sockets : TCP
 Mode Connecté.
 Ouverture d’une liaison  suite d’échanges 
fermeture de la liaison.
 Le serveur préserve son état entre deux requêtes.
 Garanties de TCP : ordre, contrôle de flux,
fiabilité.
 Adapté aux échanges ayant une certaine durée
(plusieurs messages ou flux d’octets).

69
Les sockets : UDP

 Mode non connecté.


 Les requêtes successives sont indépendantes.
 Pas de préservation de l’état entre les requêtes.
 Le client doit indiquer son adresse à chaque
requête (pas de liaison permanente).
 Pas de garanties particulières (UDP).
 Adapté aux échanges brefs (réponse en 1
message).

70
Les sockets : Points communs

 Le client a l’initiative de la communication.


 Le serveur doit être à l’écoute.
 Le client doit connaître la référence du
serveur [adresse IP, n° de port].
 Le serveur peut servir plusieurs clients : 1
thread unique ou 1 thread par client.

71
Les sockets : Généralités 1/3
 Une socket est une « entité » qui permet à deux processus de
communiquer :
• Les deux processus n'ont pas besoin d'être sur la même
machine
 Les sockets proposent une communication bidirectionnelle.
 La création d'une socket entre deux processus :
• crée un « tuyaux » persistant virtuel entre les deux
processus si la communication est orientée connexion
• crée un mécanisme d'envoi de message simplifié si la
communication entre les deux processus est orientée
sans connexion

72
Les sockets : Généralités 2/3
 Les sockets sont des portes d'entrées/sorties vers le
réseau (la couche transport),
 Une communication est identifiée de façon unique par
un couple de deux sockets,
 Une socket est identifié par une adresse de transport qui
permet d'identifier les processus de l'application
concernée,
 Une adresse de transport = une adresse IP (identifie le
serveur ou l'hôte dans le réseau) + un numéro de port
(identifie l'application).

73
Les sockets : Généralités 3/3
 Principe de fonctionnement en 3 phases (illustration ci-
dessous avec TCP) :
1) le serveur crée une "socket serveur" (associée à un port) et se met en attente.

2) le client se connecte à la socket serveur.


Deux sockets sont alors crées : une "socket client",
côté client, et une "socket service client" côté
serveur. Ces sockets sont connectées entre elles.

3) Le client et le serveur communiquent par les sockets.


L’interface est celle des fichiers (read, write).
La socket serveur peut accepter de nouvelles connexions
74
Les sockets : Scénario de communication

75
Questions de compréhension

Quels sont les points communs entre une Socket TCP et


une Socket UDP

• Le client a l’initiative de la communication.

• Le serveur doit être à l’écoute.


• Le client doit connaître la référence du serveur [adresse IP, n°
de port].
• Le serveur peut servir plusieurs clients : 1 thread unique ou 1
thread par client.

76

Vous aimerez peut-être aussi