«Сетевое Программирование Boost.asio C++». Глава 5: Синхронный И Асинхронный Режимы

Всем привет! Продолжаю перевод книги Джона Торджо «Сетевое программирование Boost.Asio C++».

Содержание:

Авторы Boost.Asio проделали замечательную работу, предоставив нам возможность выбирать, что лучше всего подходит для наших приложений, выбрав синхронный или асинхронный маршрут. В предыдущей главе мы видели фреймворки для всех типов приложений, таких как синхронный клиент, синхронный сервер, а также их асинхронные варианты.

Вы можете использовать каждый из них в качестве основы для своего приложения.

Если есть необходимость вникнуть в подробности о каждом типе приложений, то читайте дальше.



Смешивание синхронного и асинхронного программирования

Библиотека Boost.Asio позволяет совмещать синхронное и асинхронное программирование.

Лично я считаю, что это плохая идея, но Boost.Asio, как и C++ в целом, позволяет при желании выстрелить себе в ногу.

Вы легко можете попасть в ловушку, особенно если ваше приложение работает асинхронно.

Например, в ответ на асинхронную операцию записи вы выполняете, скажем, асинхронную операцию чтения:

   

io_service service; ip::tcp::socket sock(service); ip::tcp::endpoint ep( ip::address::from_string("127.0.0.1"), 8001); void on_write(boost::system::error_code err, size_t bytes) {

Теги: #C++ #api #перевод #программирование #C++ #api
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.