0% ont trouvé ce document utile (0 vote)
4 vues17 pages

Programmation réseau Linux avec Sockets

La programmation réseau sous Linux utilise l'API des sockets pour créer des applications client/serveur. Le modèle client/serveur est fondamental, où le serveur attend les demandes et le client envoie des requêtes. Les étapes de programmation incluent la création et la gestion de sockets, avec des outils Linux comme netstat et netcat pour le débogage.

Transféré par

nchangedaniel
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues17 pages

Programmation réseau Linux avec Sockets

La programmation réseau sous Linux utilise l'API des sockets pour créer des applications client/serveur. Le modèle client/serveur est fondamental, où le serveur attend les demandes et le client envoie des requêtes. Les étapes de programmation incluent la création et la gestion de sockets, avec des outils Linux comme netstat et netcat pour le débogage.

Transféré par

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

Programmation réseau sous

Linux
Créer des applications client/serveur avec
les Sockets

Réalisée par:
Ben Béchir Chaima
1 Qu'est-ce que la programmation réseau ?

2 Les concepts clés

3 Architecture Client/Serveur

4 Les étapes de la programmation (TCP)

5 Exemple de code simple (Python)

6 Les commandes Linux pour le réseau

7 Conclusion
Qu'est-ce que la
programmation
réseau ?
1
Qu'est-ce que la
L'interface de l'application avec le réseau programmation
réseau ?

❑ Définition : La programmation réseau est le processus de conception et de


construction d'applications qui peuvent communiquer sur un réseau.

❑ Le rôle des Sockets : Sous Linux (comme sur d'autres systèmes d'exploitation), l'interface de
programmation standard pour le réseau est l'API des sockets. Un socket est un point de
terminaison de communication qui permet à une application d'envoyer et de recevoir des données.

❑ Message clé : Les sockets sont l'abstraction qui cache la complexité du réseau aux
développeurs, leur permettant de traiter la communication comme un simple échange de fichiers.

2
Les concepts clés

3
Les fondamentaux Les concepts clés

1. Adresse IP : L'identifiant unique d'un appareil sur un réseau (ex: [Link]).

2. Port : Un numéro qui identifie une application ou un service spécifique sur un appareil (ex: le
port 80 pour HTTP). L'adresse IP et le port forment une paire unique : l'adresse du socket.

3. Protocoles :
✓ TCP (Transmission Control Protocol) : Fiable, orienté connexion, garantit l'ordre et la
livraison des données. Utilisé pour les transferts de fichiers, le web, etc.
✓ UDP (User Datagram Protocol) : Non fiable, sans connexion, plus rapide. Utilisé pour le
streaming vidéo, les jeux en ligne, etc.

4
Architecture
Client/Serveur

5
Architecture
Les deux rôles principaux Client/Serveur

❑ Le serveur :
✓ Attend les demandes des clients.
✓ Créé un socket, le lie à une adresse et un port.
✓ Écoute les connexions entrantes.
✓ Accepte la connexion et communique avec le client.
❑ Le client :
✓ Envoie une demande au serveur.
✓ Créé un socket.
✓ Se connecte à l'adresse et au port du serveur.
✓ Envoie/reçoit des données.
❑ Le modèle :
✓ Le serveur est généralement un programme qui s'exécute en permanence.
✓ Le client est un programme qui s'exécute quand il a besoin de communiquer avec le serveur.

6
Les étapes de la
programmation
(TCP)
7
Les étapes de la
programmation
(TCP)
Le processus côté serveur
1. Créer le socket : socket()
2. Lier le socket : bind()
✓ Associer le socket à une adresse IP et un port (ex: [Link] et 8080).
3. Mettre en écoute : listen()
✓ Indiquer au socket d'accepter les connexions.
4. Accepter les connexions : accept()
✓ Bloquer le programme jusqu'à ce qu'un client se connecte. Accepte la connexion et retourne un
nouveau socket pour la communication.
5. Recevoir/Envoyer les données : recv()/send()
6. Fermer le socket : close()

8
Exemple de code
simple (Python)
9
Exemple de
code simple
Serveur TCP simple en Python (Python)

Le code (à afficher)

10
Les commandes
Linux pour le
réseau
11
Les commandes
Linux pour le
Les outils du développeur réseau

o Ifconfig ou ip a : Afficher l'adresse IP et l'état des interfaces réseau.

o Netstat ou ss : Afficher les connexions réseau actives et les ports ouverts.

o ping: Tester la connectivité avec un autre hôte.

o Netcat (nc) : Un outil polyvalent pour lire ou écrire sur des connexions réseau. Très utile
pour tester des serveurs.

12
Conclusion

13
Conclusion
En bref
Résumé :
➢ La programmation réseau sous Linux se fait à travers l'API des sockets.

➢ Le modèle client/serveur est la base de la plupart des applications.

➢ Les sockets TCP sont fiables, tandis que les sockets UDP sont plus rapides.

➢ Le processus côté serveur suit des étapes précises : socket(), bind(), listen(), accept(),
send()/recv(), close().

➢ Des outils en ligne de commande comme netstat et netcat sont essentiels pour le débogage.

14

Vous aimerez peut-être aussi