0% ont trouvé ce document utile (0 vote)
68 vues19 pages

Socket Java

les socket en java

Transféré par

draou maissa
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
68 vues19 pages

Socket Java

les socket en java

Transféré par

draou maissa
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Les socket

Présenté par:

Draou maissa kaouter


Bouhadjela fatima zahra
Keddour Achraf
INTRODUCTION
Socket est un mécanisme ou une technique de bas niveau qui permet la
communication bidirectionnelle entre deux processus distincts dans un
ordinateur ou un réseau, leur permettant ainsi d'échanger des données de
manière organisée et fiable. C'est utilisable depuis n'importe quel langage,
par exemple (C, C++, C#, Java, JavaScript, Python).

1
portance des sockets dans le développement réseau :

Communication Bidirectionnelle Protocoles Réseau


permettant l'échange d'informations Les sockets sont utilisées pour
dans les deux sens. Cela est crucial mettre en œuvre les protocoles de
pour des applications telles que les communication réseau tels que
services client-serveur TCP/IP

Flexibilité et Portabilité
Les sockets offrent une interface
standardisée pour la programmation
réseau, ce qui les rend flexibles et
portables.

2
erface de Programmation d'Application

Une API, interface de programmation, est un ensemble de primitives qui


permettent de gérer l'échange des données entre les processus sur un
réseau.
Elle suit le format général suivant :
1- Ouverture : création de la socket et du canal de communication.
2- Échange : envoi et réception des données.
3- Fermeture : libération des ressources associées

3
socket() socket()

bind() connect(
)

e nt de
listen() lis s em
Etab exion
Serveu a c onn Client
L
r
accept()

Transfert des
recv() send()
données

send() recv()
4
Les types de sockets

1. Sockets de type Stream (TCP - Transmission Control Protocol) :

Le SOCK_STREAM est un type de socket qui fonctionne avec TCP,


Il est orienté connexion. Avec ce type , les données sont envoyées de manière
fiable et ordonnée, sans risque de perte ou de duplication.
Il est utilisé dans des applications qui exigent une communication fiable, telles
que la transmission de fichiers ou la navigation sur le web.

5
Les types de sockets
2. Sockets de type Datagram (UDP - User Datagram Protocol) :

Le SOCK_DGRAM , sockets basés sur UDP, un protocole de communication


sans connexion .
Ces sockets sont plus rapides que les sockets de type Stream,
mais la communication qu'ils offrent n'est pas garantie d'être fiable.
On les utilise souvent dans des applications où une perte de quelques
données n'est pas critique, comme dans les jeux en ligne ou la diffusion en
continu.

6
réation d'un Serveur avec Sockets :
[Link]éation du socket serveur :

int server_socket = socket(AF_INET, SOCK_STREAM, 0);


AF_INET : indique l'utilisation d'IPv4 (address family)
SOCK_STREAM : l'utilisation du protocole TCP.

2. Configuration de l'adresse du serveur :

struct sockaddr_in server_address = {AF_INET, htons(12345), {INADDR_ANY}};


Cela crée une instance de struct sockaddr_in appelée server_address
et l'initialise avec la famille d'adresse AF_INET, (la famille d'adresses utilisée est IPv4.)
le port 12345 (htons pour l'ordre des octets), où le serveur écoutera les connexions et
l'adresse IP INADDR_ANY pour lier à toutes les interfaces disponibles.
7
3. Connexion au serveur :

connect(client_socket, (struct sockaddr*)&server_address, sizeof(server_address));


printf("Connecté au serveur.\n");

4. Envoi des données :

char message[] = "Bonjour, serveur!";


send(client_socket, message, sizeof(message), 0);

5. Fermeture du socket:

close(client_socket);

9
6. Réception des données

char message[1024]; //tableau pour stocker les données reçues du


client.
recv(client_socket, message, sizeof(message),0);
printf("Données reçues: %s\n", message);

7. Fermeture des sockets


7. Fermeture des sockets

•close(client_socket);
•close(server_socket);

8
réation d'un Client avec Sockets :

Création du socket serveur :

int client_socket = socket(AF_INET, SOCK_STREAM, 0);

Configuration de l'adresse du serveur :

struct sockaddr_in server_address = {AF_INET, htons(12345), {inet_addr("[Link]")}};


Utiliser "[Link]" signifie que notre client se connectera au serveur sur la même
machine, car "[Link]" est l'adresse IP de la boucle locale (localhost).

9
Exemple :
Création d’un serveur socket :

10
11
Création d’un client socket :

12
Exécution des deux programmes

13
3. Liaison du socket à l'adresse et au port

bind(server_socket, (struct sockaddr*)&server_address, sizeof(server_address));

4. Attente de connexions

•listen(server_socket, 5);
•printf("Le serveur écoute sur le port 12345...\n");
5 : nbr maximal de connexions en attente qui peuvent être mises en
file d'attente

5. Acceptation d'une
connexion
•int client_socket = accept(server_socket, NULL, NULL);
•printf("Connexion établie avec le client.\n");
ce code permet au serveur d'accepter une connexion entrante
représentée par le descripteur client_socket .

14
Réception du message envoyé par le client dans le serveur

15
Conclusion
En conclusion, les sockets jouent un rôle central et incontournable
dans le développement des applications réseau. En offrant une
interface normalisée pour la communication entre les processus sur
un réseau, les sockets permettent la création d'applications
distribuées, interconnectées et performantes.

16
THANK YOU

Vous aimerez peut-être aussi