Bibliothèque de sockets et d'adresses C++ minimaliste et facile à utiliser.
Vous souhaitez donc avoir une communication réseau dans votre petit programme mais le boost vous semble tout simplement trop important ? Et à quel point ce truc de socket peut-il être difficile, de toute façon, hein ? - Après y être allé plus d'une fois, j'écris cette bibliothèque dans l'espoir qu'elle m'épargnera le futur codage de sockets à moitié à usage unique.
Configurez et créez une bibliothèque/des exemples/une démo/des tests à l'aide de CMake.
La cible d'installation CMake prépare un projet de démonstration basé sur CMake pouvant servir de point de départ pour ses propres applications.
La classe Address
représente l'hôte local ou les adresses UDP/TCP distantes et est utilisée pour créer des sockets locaux et envoyer/se connecter à des sockets distants.
Les classes de socket Socket*
, Socket*Buffered
et Socket*Async
offrent différents niveaux de commodité autour de la représentation brute du socket du système d'exploitation :
SocketUdp
et SocketTcp
autorisent des fonctions de base telles que la connexion, l'envoi et la réception, tandis que Acceptor
écoute les connexions TCP entrantes.SocketUdpBuffered
et SocketTcpBuffered
ajoutent un pool de tampons de réception interneSocketUdpAsync
et SocketTcpAsync
ainsi que AcceptorAsync
sont exécutés par un Driver
(c'est-à-dire un thread) fournissant un fonctionnement asynchrone à un ou plusieurs socketsSi elles sont construites avec la prise en charge de TLS, toutes les classes de socket TCP peuvent être instanciées avec un certificat SSL et un fichier de clé privée pour exécuter des connexions cryptées.
La classe ToDo
est utilisée pour planifier des tâches à exécuter par un Driver
à un moment donné, par exemple des transmissions périodiques de paquets de battements de cœur ou des tentatives de reconnexion.