Esta es una biblioteca liviana, solo para encabezado, basada en Boost, que proporciona primitivas de red del lado del cliente para organizar e implementar fácilmente la transmisión de datos con puntos finales remotos.
Esta biblioteca:
Si está escribiendo software en C ++, que se comunica con otros servicios como cliente, probablemente ya llegó con el problema: necesite implementar la capa de conectividad para proporcionar transporte de red a todos los servicios relacionados. Esto es exactamente lo que tiene como objetivo resolver esta biblioteca.
Los sockets se implementan además de boost::asio::basic_socket y proporcionan clases con control de tiempo de espera, por lo que en la mayoría de los casos es suficiente simplemente llamar a Send () / Recibir () / Write_Some () / Read_Some () con una fecha límite o un tiempo de espera. Los datos suministrados a las operaciones de E/S deben envolverse en boost::asio::buffer . Básicamente, estos clientes están boost boost::asio::ip sockets y tienen la misma interfaz.
Clases de transmisión del cliente:
stream_client::tcp_client - Cliente de socket de transmisión TCP simple. Admite send () / rececive () para transferencias admitidas de búfer completo junto con write_some () / read_some () para transferir al menos algo.stream_client::udp_client - Cliente de socket UDP simple. Admite solo enviar () / recibir () sin ningún reconocimiento según las especificaciones de UDP.stream_client::ssl::ssl_client - cliente TCP cifrado SSL. Tenga las mismas funciones que tcp_client Plus SSL Handshake y Context Control.stream_client::http::http_client - client http. Wraps tcp_client con boost::beast::http::parser and boost::beast::http::serializer y tener funciones real () para realizar llamadas de respuesta a la respuesta.stream_client::http::https_client - client https. Igual que http_client pero usa el cliente ssl_client debajo.