Bonjour à tous,
je vous présente un projet que je mène actuellement, à savoir l'écriture d'un cours de programmation réseau, sur l'utilisation de la bibliothèque socket, en C++.
Il s'agit de la version réécrite et améliorée d'un cours que j'ai dispensé aux étudiants de l'ESGI Paris en 2015.
Le but de cette série est de démystifier l'utilisation du réseau et de vous permettre d'en profiter dans vos applications.
Chaque partie présente simplement une composante (connexion, envoi de données…) et vous permet de comprendre son fonctionnement, puis de la mettre en pratique immédiatement, via un TP et des codes sources fournis.
À la fin de cette série, vous serez en possession des briques élémentaires nécessaires à la mise en place d'échanges réseau dans votre programme, sous forme de classes C++ utilisant l'API socket de votre système.
Dans un premier temps, nous apprendrons à appréhender les échanges en TCP, d'abord en tant que simple client, puis comme serveur.
Ensuite nous verrons l'utilisation d'UDP.
L'utilisation de threads et mutex sera également abordée.
Enfin certaines techniques plus spécifiques aux jeux vidéos seront présentées sous forme d'articles, publiés dans la section idoine.
Les articles seront diffusés au fur et à mesure de leur (ré)écriture. Retrouvez-les ci-dessous.
Introduction
TCP
- Premiers pas
- Envoi et réception
- Mise en place du protocole
- Premiers pas en tant que serveur
- Envoi et réception depuis le serveur
- Mode non bloquant pour le client
- Quelle architecture de client visée ?
- Un premier serveur : miniserveur
UDP
- Premiers pas
- Gérer les pertes et duplications d'identifiants
- S'assurer du bon fonctionnement de son code
- Créer son protocole par-dessus UDP
- Découper et réunifier des paquets & création d'un protocole ordonné non fiable
- Envoi de paquets ordonné fiable
- Combiner tous les protocoles : les canaux de communication
- Gérer des connexions entre machines
- Debugger une application en réseau
Jeux
- Un premier jeu : Morpion
Divers
- Multi-threading et mutex
- Bases de la sérialisation
- Sérialisation de bits
- Sérialisation avancée
Retrouvez tous les cours et tutoriels C++ de Developpez.com
Partager