Les réseaux - Cours 1
52 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
52 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

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() ...

Sujets

Informations

Publié par
Nombre de lectures 42
Langue Français

Extrait

 
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; } }
 
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents