Cours programmation réseau en C++
Sérialisation avancée, un tutoriel de Bousk
Le 2019-12-18 16:19:10, par Bousk, Rédacteur/Modérateur
Salut à tous,
troisième chapitre dédié à la sérialisation.
Dans celui-ci nous mettons en places un type optimisé pour transférer des entiers sur intervalle, des nombres à virgule fixe pour remplacer les nombres à virgule flottante et des énumérations.
Ce chapitre utilise énormément la métaprogrammation pour y parvenir et nécessite le passage au C++17.
Bonne lecture !
https://bousk.developpez.com/cours/s...ation-avancee/
troisième chapitre dédié à la sérialisation.
Dans celui-ci nous mettons en places un type optimisé pour transférer des entiers sur intervalle, des nombres à virgule fixe pour remplacer les nombres à virgule flottante et des énumérations.
Ce chapitre utilise énormément la métaprogrammation pour y parvenir et nécessite le passage au C++17.
Bonne lecture !
-
bourebCandidat au ClubBonjour,
merci pour ce cour bien utile pour poser les bases.
Juste un petit problème rencontré lors de la compilation avec Visual Studio 2019 sur Windows 10.
Le projet TP01 est ok mais à partir du TP02 il faut remplacer:Code : #if _WIN32_WINNT == _WIN32_WINNT_WINBLUE
Code : #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE
le 22/02/2020 à 14:41 -
BouskRédacteur/ModérateurHello,
je viens de revoir toutes les archives des TP TCP et la compilation devrait être correcte sur vs2019. #if _WIN32_WINNT == _WIN32_WINNT_WINBLUE a normalement été remplacé de partout par #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE. N'hésitez pas à me faire savoir s'il reste une coquille quelque part.le 21/03/2020 à 23:13 -
BouskRédacteur/ModérateurNon UDP n'est pas une solution pour scaler le miniserveur.
Pour scaler il faut changer le traitement des connexions et échanges de données (avec kqueue, epoll, .. mentionnés vers le début du thread).
UDP devrait être utilisé pour du gameplay (temps réel) où le nombre de connexions devrait déjà être limité par les règles gameplay ou les performances nécessaires.
Pour les lecteurs, je suis désolé du manque de contenus : le temps me manque depuis 3 ans. le 24/04/2023 à 15:51 -
bacelarExpert éminent séniorIl y a bien d'autres axes d'évolution que le choix des implémentations de protocole de niveau Transport de l'OSI fournies dans les OS "main stream".
- configuration de ces implémentations pour les adapter aux besoins, et pas qu'au niveau 4 de l'OSI (Transport) mais à n'importe quel niveau.
- implémentation customisé d'un composant de la stack réseau, voire de la stack complète via des drivers, qu'ils soient dans un firmware matériel, un driver de périphérique, un driver layer du Kernel, ou des parties "User" de la pile réseau
- Design de protocoles spécifiques utilisant, ou n'utilisant pas des composants de la stack réseau de l'OS,
- Mise en place de hardwares dédiés comme des répartiteurs de charge
- etc...le 26/04/2023 à 16:24 -
BouskRédacteur/ModérateurM est le paramètre template et ceci est un CRTP.le 23/05/2023 à 14:50
-
CeferCandidat au ClubAh merci, j'étais justement en train de le faire, et j'avais cette erreur.le 23/02/2020 à 20:02
-
BouskRédacteur/ModérateurBien vu, j'avais fixé le TP01 mais n'ai pas pensé aux suivants...
J'essayerai de repasser dessus.le 24/02/2020 à 16:19 -
BandanasFutur Membre du ClubSuper, merci !le 22/04/2020 à 2:30
-
LuffyShopNouveau Candidat au Clubexcellent cours, il est très intéressantle 05/09/2020 à 19:42
-
GouyonMembre expérimentéBonjour
J'ai une incompréhension au niveau de l'UDP. Je pensais que lorsque l'on envoyait de données sur un port elle pouvaient être lues par tous ceux qui écoutent ce port et il semble que ce n'est pas du tout le cas.
Je pose cette question car on m'a fournis un logiciel sensé simuler un instrument de mesure qui envoie ses données en UDP
Dans ce logiciel je rentre une adresse IP d'émission et un port d'émission mais pas de destinataire.
Quand j'utilise un logiciel d'analyse de réseau je me trouve que l'adresse de destination et le port de destination sont identiques à l'adresse de source et au port de source.
Du coup je n'arrive pas à lire les données à partir du programme que je développe et qui est censé récupérer les information de cet instrument.
Y a t'il moyen de configurer le socket de réception de telle manière qu'il puisse récupérer ce message?le 17/12/2020 à 13:57