Published 15 August 2018

Boost.Asio

Что такое Boost.Asio

Что такое Boost.Asio

Boost.Asio (asynchronous input/output) библиотека, предназначенная для программистов, использующих C ++ для системного программирования, где часто требуется доступ к функциям операционной системы, например, к сети.

Библиотека является переносимой, работает на большинстве операционных систем и хорошо масштабируется при более, чем тысячи одновременных подключений. Сетевая часть была последователем BSD (Berkeley Software Distribution) сокетов. Предоставляется API для работы с TCP (Transmission Control Protocol) сокетами, UDP (User Datagram Protocol) сокетами, ICMP (Internet Control Message Protocol) сокетами, также библиотека является расширяемой.

Возможности Boost.Asio

Возможности Boost.Asio

Основные возможности Boost.Asio:

  • возможность написания кросс-платформенного сетевого кода (Windows, практически все Unix-подобные ОС)
  • поддержка как IPv4, так и IPv6
  • работа с TCP & UDP
  • поддержка выполнения асинхронных операций
  • возможность использования интерфейсов, совместимых с std::iostream
  • поддержка SSL
  • поддержка отложенных операций (таймеры)

Преимущества Boost.Asio:

  • высокая переносимость кода
  • каждой платформе реализуется наиболее эффективная стратегия работы
    • epoll на Linux 2.6
    • kqueue на FreeBSD/MacOSX
    • Overlapped IO на MS Windows
  • синхронная и асинхронная работа с сокетами
  • использование потокового ввода-вывода, совместимого с std::iostream.

Как используется Boost.Asio

Как используется Boost.Asio

Boost.Asio используется во многих проектах, таких как:

  • Remobo , позволяет вам создавать собственную IPN (Instant Payment Notification)
  • libtorrent , является библиотекой, которая реализует Bittorrent клиент
  • PokerTH , представляет собой игру в покер с поддержкой LAN и Internet

Boost.Asio успешно абстрагирует понятия input и output, которые работают не только для работы в сети, но и для последовательных COM-портов, файлов и так далее. Кроме этого вы можете делать input или output программирование синхронным или асинхронным

В компании Credits библиотека Boost.Asio активно используется при разработке платформы Credits. Например, при реализации консенсуса и запуска раундов.

Votes 0, average rating 0

Contents