0% ont trouvé ce document utile (0 vote)
72 vues25 pages

Introduction Au API

Transféré par

khadidja
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 PPSX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
72 vues25 pages

Introduction Au API

Transféré par

khadidja
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 PPSX, PDF, TXT ou lisez en ligne sur Scribd

Développement d’application

client/serveur

Zouhair ELHADARI
[Link]

Centre de BTS Dakhla


2ème année BTS DSI
Chapitre 4
Introduction aux API sockets

2ème année BTS DSI


Prof:EL HADARI zouhair 2
Introduction:

2ème année BTS DSI


Prof:EL HADARI zouhair 3
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
couple @IP:port
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 4
Illustration d’API socket: (2)

2ème année BTS DSI


Prof:EL HADARI zouhair 5
Illustration d’API socket: (3)

2ème année BTS DSI


Prof:EL HADARI zouhair 6
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 7
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 8
Exemple:

2ème année BTS DSI


Prof:EL HADARI zouhair 9
Processus de Sockets:

2ème année BTS DSI


Prof:EL HADARI zouhair 10
Gestion du parallélisme sur le serveur:

2ème année BTS DSI


Prof:EL HADARI zouhair 11
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 12
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 13
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 14
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 15
Sockets en mode connecté:
Ouverture active (côté « initiateur ») : (2/2)
Programmation en JAVA
 Classe Socket
 Quatre constructeurs possibles
-@sse IP ou nom_host distant ET numéro_port
distant (obligatoires)
-Et @sse IP ou nom_host local ET numéro_port local

2ème année BTS DSI


Prof:EL HADARI zouhair 16
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 17
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 18
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 19
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 20
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 21
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
-et @sse IP_locale

2ème année BTS DSI


Prof:EL HADARI zouhair 22
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 23
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 24
Fin du Chapitre

2ème année BTS DSI


Prof:EL HADARI zouhair 25

Vous aimerez peut-être aussi