Les réseaux - Cours 1

icon

52

pages

icon

Français

icon

Documents

Écrit par

Publié par

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

52

pages

icon

Français

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

Le client/serveurL’API socketJava RMINoel.DePalma@inrialpes.fr Mode connecté/non connecté• Mode connecté (TCP) :–problèmes de communications gérés automatiquement,–primitives simples d’émission et de réception,–gestion de la connexion coûteuse,–pas de délimitation des messages dans le tampon.• Mode non connecté (UDP) :–consomme moins de ressources systèmes,–permet la diffusion, –gestion de toutes les erreurs à la main : il faut Les sockets• Interface d’accès au réseau• développé dans Unix BSD• n° port, @ IP, protocole (TCP, UDP, ...)Couches Session à ApplicationClient ServeurCouche Transport (TCP, UDP)n° port :2345 n° port :80 @ IP : 193.168.20.1 @ IP : 193.168.20.2Couche Réseau (IP)@ IP : 193.168.20.2@ IP : 193.168.20.1Couche Liaison@ Ethernet @ Ethernet L’API socket• Création de socket : socket(family, type, protocol)• Ouverture de dialogue :–client : connect(...)–serveur : bind(..), listen(...), accept(...)• Transfert de données :–mode connecté : read(...), write(...), send(...), recv(...)–mode non connecté : sendto(...), recvfrom(...), sendmsg(...), recvmsg(...) • Clôture du dialogue :Client/Serveur en mode non connectéClient Serveursocket() socket()Création de la socketAssignation n°port - @ IPbind() bind()sendto() recvfrom()envoi requêtebloqué jusqu'à la réception de la requêterecvfrom() traitement de la requêtebloqué jusqu'à la réception de la réponseenvoi réponse sendto()traitement de la réponseclose() ...
Voir icon arrow

Publié par

Langue

Français

 
Le client/serveur L’API socket Java RMI
Noel.DePalma@inrialpes.fr
 
neon coenncon codoMétcecennoc e: porlbét( CT)Pcommunicèmes de sérétua oitag snntmepr,atomueiqlpses mivisemitiet dion miss déseg,noitpecér eneon clae  dontid saéd eimilitatonxioû custepe,adsnl  eatpmno.on des messages 
Mode non connecté (UDP) : consomme moins de ressources systèmes, permet la diffusion,
   
     
 
   
 
 
Les sockets
Interface d’accès au réseau développé dans Unix BSD n° port, @ IP, protocole (TCP, UDP, ...)
Couches Session à Application
Client Serveur n° port :2345 Couche Transport (TCP, UDP) n° port :80 : 193.168.20.1 @ IP @ IP : 193.168.20.2
@ IP : 193.168.20.1
@ Ethernet
Couche Réseau (IP)
Couche Liaison  
@ IP : 193.168.20.2
@ Ethernet
 
L’API socket
Création de socket : socket(family, type, protocol)
Ouverture de dialogue : client : connect(...) serveur : bind(..), listen(...), accept(...)
Transfert de données : mode connecté : read(...), write(...), send(...), recv(...) mode non connecté : sendto(...), recvfrom(...), sendmsg(...), recvmsg(...)     
envoi réponse
traitement de la requête sendto()
close()
close() Fermeture de la socket  
Serveur
Client
Assignation n°port - @ IP
bind()
sendto()
envoi requête
socket()
Création de la socket
socket()
bind()
t de la raitemenéropsnetuqolbesnopér al den ioptceréa  lr qe ealnod peit récà lasqu'é juevree run j suuqà'étlbqoéun connecn moe novfecr)or(metêurecvfrom()
Création de la socket
i
Serveur socket()
l
bind()
n
listen()
e/te
Client socket()
Svrue rne mode
read() bloqué jusqu'à la réception de la réponse nv i e o réponse traitement de la réponse
 co
write()
n
close() Fermeture de la socket close()  
n
read() bloqué jusqu'à la réception de la requête traitement de la requête write()
e
envoi requête
c
établissement de la connexion
t
accept()
é
 
connect()
C
 
Modèle de serveur
Simple
Maître/esclave Creation de pr
Creation de processus/threads à la demande Pool de processus/threads
Dupliqué Aiguilleur de requêtes Replication primaire/secondaires Replication active
 
rPion SockogrammatavaJ ne te
DatagramSocket / DatagramPacket
 
 
packagejava.net InetAddress Socket ServerSocket DatagramSoc
 
Scoke tlceinetT CetP connexoin
try {  Socket s = new Socket ("www.inria.fr",80);  InputStream is = s.getInputStream();  …  OutputStream os = s.getOutputStream();  … } catch (Exception e) {  System.err.println(e); } finally {s.close(); }
 
 
 
Sockets serveur TCP
try {   ServerSocketserveur = newServerSocket(port);  Socket s = serveur.accept();  OutputStream os = s.getOutputStream();  InputStream is = s.getIntputStream();  … } catch (IOExceptione) {  System.err.println(e); } finally { s.close(); serveur.close(); }
 
 
Un exemple complet : TCP + serialisation Passage d’objets par valeur à l’aide de la serialization
L’objet à passer à passer au serveur :
public class voiture implements Serializable{ public String type; public int imm;
 public voiture(String type, int imm) { this.type = type; this.imm = imm; } public String toString() { return this.type+" "+this.imm; } }
 
Voir icon more
Alternate Text