Dies ist eine leichte, nur Header-boost-basierte Bibliothek, die die privaten aufeinanderfolgenden Netzwerkprimitive bietet, um die Datenübertragung einfach mit Remote-Endpunkten zu organisieren und zu implementieren.
Diese Bibliothek:
Wenn Sie Software auf C ++ schreiben, die mit anderen Diensten als Kunden kommuniziert, sind Sie wahrscheinlich bereits mit dem Problem zurückgekommen - müssen die Konnektivitätsschicht implementieren, um den Netzwerktransport für alle zugehörigen Dienste bereitzustellen. Genau das zielen die Lösung dieser Bibliothek zu lösen.
Sockets werden über boost::asio::basic_socket implementiert und bieten Klassen mit Zeitlimitsteuerung. In den meisten Fällen reicht es aus, SEND () / Receise () / write_some () / read_some () mit einer Deadline oder Timeout aufzurufen. Daten, die zu E/A -Operationen geliefert wurden, sollten in boost::asio::buffer eingewickelt werden. Grundsätzlich sind diese Clients Timeout-umgewickelt boost::asio::ip Sockets und haben die gleiche Schnittstelle.
Client Streams -Klassen:
stream_client::tcp_client - einfacher TCP -Stream -Socket -Client. Unterstützt Send () / Rececive () für zugelassene Übertragungen des gesamten Puffers zusammen mit write_some () / read_some (), um zumindest etwas zu übertragen.stream_client::udp_client - einfacher UDP -Socket -Client. Unterstützt nur send () / recipt () ohne Bestätigung gemäß UDP -Spezifikationen.stream_client::ssl::ssl_client - SSL -zerbrechlicher TCP -Client. Haben Sie die gleichen Funktionen wie tcp_client Plus SSL Handshake und Kontextkontrolle.stream_client::http::http_client - http client. Wraps tcp_client mit boost::beast::http::parser und boost::beast::http::serializer und haben Sie die Funktion von Ausführen () , um Anforderungsanrufe zu tätigen.stream_client::http::https_client - https client. Wie http_client verwendet aber ssl_client Client darunter.