Vous êtes sur la page 1sur 9

Les Sockets

Introduction
Les Sockets forment une API (Application Program Interface): ils offrent aux
programmeurs une interface entre le programme d'application et les protocoles
de communication.
Les sockets forment un mcanisme de communication bidirectionnel dans un
environnement distribu.

Les sockets reprsentent donc d'une part une API c'est dire un ensemble de
primitives de programmation et d'autre part les extrmits de la communication
(notion de prise). Les extrmits de communication sont identifies dans le
monde TCP/IP par trois informations: une adresse IP, le protocole utilis (TCP
ou UDP) et un numro de port (entier sur 16 bits donc de 0 65
Pour maintenir lunicit des numros de port (par protocole) on les a rpartis en
trois catgories :
- Les ports systmes (appels aussi ports bien connus well known ports) de 0
1023 sont rservs
- Les ports utilisateurs (appels aussi ports dposs registered ports) de 1024
49151 sont disponibles pour les utilisateurs
- Les ports dynamiques (appels aussi ports privs) de 49152 65535.
Introduction
Le protocole TCP offre un service en mode connect et fiable. Les donnes sont
dlivres dans lordre de leur mission.
La procdure dtablissement de connexion est dissymtrique. Un processus,
appel serveur, attends des demandes de connexion quun processus, appel
client, lui envoie.
La class Socket
La classe Socket reprsente en Java les sockets utiliss cts client ou les
sockets de service
public Socket (String hote, int port) throws UnknownHostException, IOException
public Socket (InetAddress addresse, int port) throws IOException

public Socket(String hote, int port, InetAddress addresseLocale, int


portLocal) throws IOException

public Socket(InetAddress address, int port, InetAddress addresseLocale, int


portLocal) throws IOException
Class Socket
Mthodes informatives

public InetAddress getInetAddress ()


public int getPort ()

Ces mthodes renvoient l'adresse Internet et le port distants auquel le socket est
connect.
public InetAddress getLocalAddress ()
public int getLocalPort ()

Ces mthodes renvoient l'adresse Internet et le port locaux que le socket utilise.
Communication avec une Socket
public InputStream getInputStream () throws IOException

Cette mthode renvoie un flux dentres brutes grce auquel un programme peut lire des
informations partir dun sock

public OutputStream getOutputStream () throws IOException

Cette mthode renvoie un flux de sortie brutes grce auquel un programme peut crire
des informations sur un socket

public void close() throws IOException


Exemple
Class ServerSocket
Cette classe permet de crer des sockets qui attendent des connections sur un port
spcifi et lors dune connexion retournent une Socket qui permet de communiquer avec
le client

public ServerSocket (int port) throws IOException

public ServerSocket (int port, int tailleFile) throws IOException

Ce constructeur permet de prciser la longueur de la file dattente des requtes de


connexion. Si une demande de connexion arrive et que la file est pleine la connexion
sera refuse. La longueur de la file dattente par dfaut est 50
Class ServerSocket
public Socket accept() throws IOException

La methode accept() est dite bloquante


Exemple

Vous aimerez peut-être aussi