«Сетевое Программирование 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
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2007-02-01 15:15:34
Баллов опыта: 666
Всего постов на сайте: 4
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

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