Погром. Библиотека Asio включает в себя низкоуровневый сокет-интерфейс на основе BSD сокет- API, который широко реализуется и поддерживается обширной литературой. Он также используется в качестве основы для сетевого API на других языках, таких как Java. Этот низкоуровневый интерфейс предназначен для поддержки разработки эффективных и масштабируемых приложений. Например, это позволяет программистам осуществлять более тонкий контроль над количеством системных вызовов, избегать ненужного копирования данных, минимизировать использование ресурсов, таких как потоки, и так далее.
Необеспеченные и подверженные ошибкам аспекты BSD сокета API не включены. Например, использование int для представления всех розеток не имеет безопасности типа. Представление сокета в Boost. Asio использует отдельный тип для каждого протокола, например, для TCP один будет использовать ip::tcp::socket, а для UDP используется ip::udp::socket.
В следующей таблице показано отображение между разъемом BSD API и Boost. Асио:
Элементы BSD Socket API
Эквиваленты в бусте. Asio
дескриптор розетки - int (POSIX) или SOCKET (Windows)
Статья The BSD Socket API and Boost.Asio раздела Boost.Asio Networking может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.