Minimalistische und benutzerfreundliche C++-Socket- und Adressbibliothek.
Sie möchten also Netzwerkkommunikation in Ihrem kleinen Programm haben, aber Boost scheint einfach zu viel zu sein? Und wie schwer kann dieses Steckdosen-Zeug überhaupt sein, oder? - Nachdem ich mehr als einmal dort war, schreibe ich diese Bibliothek in der Hoffnung, dass sie mir das zukünftige Codieren halber Einwegsteckdosen erspart.
Konfigurieren und erstellen Sie Bibliothek/Beispiele/Demo/Tests mit CMake.
Das CMake-Installationsziel bereitet ein CMake-basiertes Demoprojekt vor, das als Ausgangspunkt für eigene Anwendungen geeignet ist.
Die Address
stellt lokale Host- oder Remote-UDP/TCP-Adressen dar und wird zum Erstellen lokaler und zum Senden/Verbinden mit Remote-Sockets verwendet.
Die Socket-Klassen Socket*
, Socket*Buffered
und Socket*Async
bieten unterschiedliche Komfortstufen rund um die rohe OS-Socket-Darstellung:
SocketUdp
und SocketTcp
ermöglichen grundlegende Funktionen wie Verbinden, Senden und Empfangen, während Acceptor
auf eingehende TCP-Verbindungen wartetSocketUdpBuffered
und SocketTcpBuffered
fügen einen internen Empfangspufferpool hinzuSocketUdpAsync
und SocketTcpAsync
sowie AcceptorAsync
werden von einem Driver
(dh einem Thread) ausgeführt, der einen asynchronen Betrieb für einen oder mehrere Sockets bereitstelltBei der Erstellung mit TLS-Unterstützung können alle TCP-Socket-Klassen mit einem SSL-Zertifikat und einer privaten Schlüsseldatei instanziiert werden, um verschlüsselte Verbindungen auszuführen.
Die ToDo
-Klasse wird zum Planen von Aufgaben verwendet, die von einem Driver
zu einem bestimmten Zeitpunkt ausgeführt werden sollen, z. B. regelmäßige Heartbeat-Paketübertragungen oder Wiederherstellungsversuche.