Soket

Disponible uniquement sur Etudier
  • Pages : 8 (1919 mots )
  • Téléchargement(s) : 0
  • Publié le : 24 mai 2011
Lire le document complet
Aperçu du document
Université de Lille1

Les sockets java
N. Melab melab@lifl.fr
Sockets DESS-ISIDIS

Plan
n n n

Le modèle Sockets java Sockets C-UNIX BSD 4.X

Le modèle
n

n n n

Sockets : interface (point de communication) client/serveur utilisée à l’origine dans le monde UNIX et TCP/IP Etendue aux PCs (Winsock) et mainframes Primitives pour le support de communications reposant sur lesprotocoles (TCP/IP, UDP/IP) Les applications client/serveur ne voient les couches de communication qu’à travers l’API socket (abstraction)
DESS-ISIDIS

Sockets

Sockets/OSI
Application cliente

Protocole Applicatif

Application serveur

API Socket

API Socket

UDP

TCP

UDP

TCP

IP

IP

Physique

Physique

Rôle des sockets
n n n n n n

Connexion à une machine distanteEnvoi/Réception de données Fermeture d’une connexion Attachement à un port Acceptation d’une demande de connexion à un port local Attente de demandes de connexion

Sockets

DESS-ISIDIS

Notion de port
n

Connexion réseau
* Adresse

internet de la machine * Numéro du port
n

Pourquoi les ports ?
* Sur

une même machine, plusieurs services sont accessibles simultanément (web,email, etc.) * Points d’accès : ports logiques (65535) * Rien à avoir avec les ports physiques (série et parallèle)

Désignation des ports
n n

n

Port : numéro allant de 1 à 65535 Les ports 1 à 1023 sont réservés aux services courants : finger, ftp, http (80), SMTP (25), etc. Fichier d’assignation de ports : /etc/services

Sockets

DESS-ISIDIS

Adresse internet
n

Connexion réseau
*Adresse

internet de la machine * Numéro : 193.49.192.193
n

Désignation par des noms symboliques
* Association

de noms symboliques aux adresses numériques * Domain Name System (ou DNS) * Exemple : lil.univ-littoral.fr : 193.49.192.193

Sockets java

Sockets

DESS-ISIDIS

Gestion des ports (adresses) en Java
n

Classe InetAdress
* *

Dans java.net Champs
ó hostName óaddress

(exemple : lil.univ-littoral.fr)

(32 bits, exemple : 193.49.192.193)

Pas de constructeur * 3 méthodes statiques
*
ó public ó public

static InetAddress InetAddress .getByName(String hote) static InetAddress[] InetAddress .getAllByName(String hote) ó public static InetAddress InetAddress .getLocalHost()

n

Classes Socket, SocketServer et SocketImpl * getInetAddress() Gestion des sockets
n

Taxinomie
* Sockets
ó Point ó Point

TCP UDP

à point : Socket, SocketServer, SocketImlp à point : DatagramSocket MultiCastSocket

* Sockets

ó Multi-point :

* Dans

java.net

Sockets

DESS-ISIDIS

Sockets TCP
n

Classe Socket
ò ò ò

Connexion à une machine distante Envoi/Réception de données Fermeture d’une connexion Attachement à un port Acceptationd’une demande de connexion à un port local Attente de demandes de connexion

n

Classe SocketServer
ò ò ò

Classe Socket (1)
n

Constructeurs
ò ò ò ò ò ò

public Socket(String hote, int port) throws UnknownHostException, IOException public Socket(InetAddress hote, int port) throws IOException public Socket(String hote, int port, InetAddress interface, int portLocal) throwsIOException public Socket(InetAddress hote, int port, InetAddress interface, int portLocal) throws IOException protected Socket() protected Socket(SocketImpl impl)

Sockets

DESS-ISIDIS

Classe Socket (2)
n

Information
ò ò ò ò

public InetAddress getInetAddress() public int getPort() public int getLocalPort() public InetAddress getLocalAddress() public InputStream getInputStream() throwsIOException public OutputStream getOutputStream() throws IOException public synchronized void close() throws IOException

n

Envoi/Réception de données
ò ò

n

Fermeture
ò

Classe Socket (3)
n

Options
ò

TCP_NODELAY
ó Données expédiées aussitôt que possible quelque soit leur taille
ó

Méthodes setTcpNoDelay (boolean valid) et setTcpNoDelay()

ò

SO_LINGER ó Attente ou non...
tracking img